Function at 0x89fb90
Capabilities:
Execute anti-debugging instructions
Generate random numbers via winapi
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xdc
lea eax, [esp + 0x40]
mov dword [esp + 0x10], 0xf0000040
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.ADVAPI32.DLL_CryptAcquireContextA
sub esp, 0x14
test eax, eax
je 0x89fc0d
lea eax, [esp + 0x3c]
mov dword [esp + 4], 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.ADVAPI32.DLL_CryptGenRandom
sub esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.ADVAPI32.DLL_CryptReleaseContext
sub esp, 8
test ebx, ebx
jne 0x89fdb0
mov dword [esp + 4], 0
mov dword [esp], str._dev_urandom
call fcn.0088acb0
cmp eax, 0xffffffff
mov ebx, eax
je 0x89fc53
lea eax, [esp + 0x3c]
mov dword [esp + 8], 4
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll__read
mov dword [esp], ebx
mov esi, eax
call sub.msvcrt.dll__close
cmp esi, 4
je 0x89fdb0
mov dword [esp + 4], 0
mov dword [esp], str._dev_random
call fcn.0088acb0
cmp eax, 0xffffffff
mov ebx, eax
je 0x89fc99
lea eax, [esp + 0x3c]
mov dword [esp + 8], 4
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll__read
mov dword [esp], ebx
mov esi, eax
call sub.msvcrt.dll__close
cmp esi, 4
je 0x89fdb0
cmp dword [0xcdde84], 0x78
mov eax, dword [0xff74a0]
mov edx, dword [0xff74a4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
ja 0x89fed1
mov edi, eax
mov ebp, edx
rdtsc
xor dword [0xff6cd4], eax
rdtsc
mov ecx, eax
mov eax, edx
xor ebx, ebx
mov edx, eax
mov eax, 0
add eax, ecx
adc edx, ebx
xor dword [0xff6d44], edx
mov edx, ebp
or edx, edi
jne 0x89fdc0
xor ebx, ebx
xor esi, esi
lea esi, [esi]
call sub.msvcrt.dll_clock
lea edx, [esi + ebx*2]
mov ebx, eax
sub ebx, esi
cmp eax, edx
jle 0x89fe80
mov esi, dword [0xff74a0]
mov edi, dword [0xff74a4]
mov ebp, ebx
add esi, 1
mov ecx, esi
adc edi, 0
xor edx, edx
and ecx, 0x1ff
cmp ebx, 0xc46031b9
mov dword [0xff74a0], esi
setae dl
mov dword [0xff74a4], edi
imul edx, edx, 0xc46031b9
sub ebp, edx
add dword [ecx*4 + 0xff6ca0], ebp
cmp edi, 0
jbe 0x89fec1
rdtsc
lea ebx, [esp + 0x58]
mov dword [esp + 4], 0xa0
add dword [0xff6e5c], eax
mov dword [esp], ebx
call fcn.00c0619c
mov dword [esp], ebx
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0xff6ca0
call fcn.008ab380
lea eax, [esp + 0x44]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.008ab4e0
mov eax, dword [esp + 0x44]
bswap eax
mov edx, eax
mov eax, dword [esp + 0x54]
add esp, 0xdc
pop ebx
pop esi
bswap eax
add eax, edx
pop edi
pop ebp
ret
mov eax, dword [esp + 0x3c]
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
xor esi, esi
xor ebx, ebx
call sub.msvcrt.dll_clock
lea edx, [ebx + esi*2]
mov esi, eax
sub esi, ebx
cmp eax, edx
jg 0x89fe20
mov edx, dword [0xff74a0]
xor ecx, ecx
mov edi, esi
and edx, 0x1ff
imul ebx, dword [edx*4 + 0xff6ca0], 0x19660d
cmp esi, 0xc46031b9
setae cl
imul ecx, ecx, 0xc46031b9
sub edi, ecx
lea ecx, [ebx + edi + 0x3c6ef35f]
mov ebx, eax
mov dword [edx*4 + 0xff6ca0], ecx
call sub.msvcrt.dll_clock
lea edx, [ebx + esi*2]
mov esi, eax
sub esi, ebx
cmp eax, edx
jle 0x89fdd4
mov ecx, dword [0xff74a0]
mov ebx, dword [0xff74a4]
mov ebp, esi
add ecx, 1
mov edi, ecx
adc ebx, 0
xor edx, edx
and edi, 0x1ff
cmp esi, 0xc46031b9
mov dword [0xff74a0], ecx
setae dl
mov dword [0xff74a4], ebx
imul edx, edx, 0xc46031b9
sub ebp, edx
add dword [edi*4 + 0xff6ca0], ebp
sub ecx, dword [esp + 0x28]
sbb ebx, dword [esp + 0x2c]
cmp ebx, 0
ja 0x89fd4f
cmp ecx, 4
ja 0x89fd4f
mov ebx, eax
jmp 0x89fe10
mov edx, dword [0xff74a0]
xor ecx, ecx
mov edi, ebx
and edx, 0x1ff
imul esi, dword [edx*4 + 0xff6ca0], 0x19660d
cmp ebx, 0xc46031b9
setae cl
imul ecx, ecx, 0xc46031b9
sub edi, ecx
lea ecx, [esi + edi + 0x3c6ef35f]
mov esi, eax
mov dword [edx*4 + 0xff6ca0], ecx
jmp 0x89fcf0
cmp esi, 0x40
ja 0x89fd4f
mov esi, eax
jmp 0x89fcf0
mov dword [esp + 0x14], 0x4c
mov dword [esp + 0x10], str.libavutil_random_seed.c
mov dword [esp + 0xc], str.sizeof_tmp____av_sha_size
mov dword [esp + 8], 0xcddbec
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00891920
call sub.msvcrt.dll_abort
nop
nop
nop
nop
nop
nop