Function at 0x465e40
Capabilities:
Generate random numbers via winapi
Get disk size
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b4
mov eax, dword [0x55f2b4]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push edi
lea ecx, [ebp - 0x144]
call fcn.00468b40
lea eax, [ebp - 0x14c]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x14c], xmm0
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov esi, dword [ebp - 0x144]
xor edi, edi
movzx ecx, byte [ebp + edi - 0x14c]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x465ec0
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x465ed9
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 8
jb 0x465e80
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x10], eax
xor edi, edi
nop word [eax + eax]
movzx ecx, byte [ebp + edi - 0x10]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x465f2d
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x465f46
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 4
jb 0x465ef0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x10], eax
xor edi, edi
nop word [eax + eax]
movzx ecx, byte [ebp + edi - 0x10]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x465f9d
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x465fb6
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 4
jb 0x465f60
push 0x3c
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x1b4], 0x40
push 0
push eax
call fcn.004e8d40
add esp, 0xc
lea eax, [ebp - 0x1b4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x4660b0
xor edi, edi
movzx ecx, byte [ebp + edi - 0x1a4]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x466030
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x466049
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 8
jb 0x465ff0
xor edi, edi
movzx ecx, byte [ebp + edi - 0x194]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x466091
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x4660aa
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 8
jb 0x466051
push 0
push 0
lea eax, [ebp - 0x16c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x46612f
xor edi, edi
nop dword [eax]
movzx ecx, byte [ebp + edi - 0x16c]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x466110
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x466129
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 8
jb 0x4660d0
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x154]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimes]
test eax, eax
je 0x4663b1
xor edi, edi
nop dword [eax]
nop dword [eax + eax]
movzx ecx, byte [ebp + edi - 0x150]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x4661a0
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x4661b9
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 4
jb 0x466160
xor edi, edi
movzx ecx, byte [ebp + edi - 0x154]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x466201
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x46621a
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 4
jb 0x4661c1
xor edi, edi
movzx ecx, byte [ebp + edi - 0x158]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x466262
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x46627b
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 4
jb 0x466222
xor edi, edi
nop dword [eax]
nop word [eax + eax]
movzx ecx, byte [ebp + edi - 0x15c]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x4662d0
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x4662e9
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 4
jb 0x466290
xor edi, edi
movzx ecx, byte [ebp + edi - 0x160]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x466331
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x46634a
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 4
jb 0x4662f1
xor edi, edi
movzx ecx, byte [ebp + edi - 0x164]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x466392
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x4663ab
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 4
jb 0x466352
lea eax, [ebp - 0x174]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x46642f
xor edi, edi
nop dword [eax]
nop dword [eax + eax]
movzx ecx, byte [ebp + edi - 0x174]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x466410
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x466429
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 8
jb 0x4663d0
rdtsc
mov dword [ebp - 0x14], eax
xor edi, edi
mov dword [ebp - 0x10], edx
nop dword [eax]
movzx ecx, byte [ebp + edi - 0x14]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x46647d
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x466496
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 8
jb 0x466440
push 0xf0000040
push 1
push str.Microsoft_Base_Cryptographic_Provider_v1.0
push 0
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x466547
lea eax, [ebp - 0x14]
xorps xmm0, xmm0
push eax
push 8
push dword [ebp - 0x18]
movlpd qword [ebp - 0x14], xmm0
call dword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test eax, eax
je 0x46653c
xor edi, edi
nop dword [eax]
movzx ecx, byte [ebp + edi - 0x14]
shr esi, 5
and esi, 0xf
mov eax, dword [ebp + esi*4 - 0x11c]
shl eax, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x11c], ecx
mov esi, dword [ebp - 0x144]
add esi, 8
mov dword [ebp - 0x144], esi
jne 0x46651d
inc dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x144], esi
test esi, 0x1ff
jne 0x466536
lea ecx, [ebp - 0x144]
call fcn.004689d0
mov esi, dword [ebp - 0x144]
inc edi
cmp edi, 8
jb 0x4664e0
push 0
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x144]
call fcn.00468bf0
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 8]
xor ecx, ebp
pop edi
pop esi
call fcn.004d0675
mov esp, ebp
pop ebp
ret