Function at 0x70a51e04
Capabilities:
Execute anti-debugging instructions
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xdc
mov dword [esp + 4], 0
mov dword [esp], str._dev_urandom
call sym._open
mov ebx, eax
cmp eax, 0xffffffff
je 0x70a51e54
mov dword [esp + 8], 4
lea eax, [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._read
mov esi, eax
mov dword [esp], ebx
call sym._close
cmp esi, 4
je 0x70a51fa0
mov dword [esp + 4], 0
mov dword [esp], str._dev_random
call sym._open
mov ebx, eax
cmp eax, 0xffffffff
je 0x70a51e9a
mov dword [esp + 8], 4
lea eax, [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._read
mov esi, eax
mov dword [esp], ebx
call sym._close
cmp esi, 4
je 0x70a51fa0
mov eax, dword [0x70a72aa0]
mov edx, dword [0x70a72aa4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp dword [sym.avutil_ttv_51.dll_av_sha_size], 0x78
ja 0x70a520d0
rdtsc
xor ecx, ecx
add ecx, eax
xor dword [0x70a72af4], ecx
rdtsc
mov ebx, edx
xor ecx, ecx
xor edx, edx
add eax, ecx
adc edx, ebx
xor dword [0x70a72b64], edx
mov edx, dword [esp + 0x2c]
or edx, dword [esp + 0x28]
jne 0x70a51fb0
xor esi, esi
call sym._clock
cmp eax, esi
je 0x70a51f87
lea esi, [esi]
mov ecx, dword [0x70a72aa0]
mov ebx, dword [0x70a72aa4]
add ecx, 1
adc ebx, 0
mov dword [0x70a72aa0], ecx
mov dword [0x70a72aa4], ebx
mov edi, ecx
and edi, 0x1ff
mov edx, eax
sub edx, esi
mov esi, edx
xor edx, edx
cmp esi, 0xc46031b9
setae dl
lea ebp, [edx*4]
add ebp, edx
lea ebp, [ebp + ebp*4]
lea ebp, [edx + ebp*8]
lea ebp, [ebp + ebp*8]
lea ebp, [ebp + ebp*8]
lea ebp, [edx + ebp*4]
lea ebp, [edx + ebp*2]
lea ebp, [edx + ebp*8]
lea ebp, [edx + ebp*8]
lea edx, [edx + ebp*8]
mov ebp, edx
shl ebp, 4
sub edx, ebp
sub esi, edx
add dword [edi*4 + 0x70a72ac0], esi
cmp ebx, 0
ja 0x70a5203d
cmp ecx, 0x40
ja 0x70a5203d
mov esi, eax
call sym._clock
cmp eax, esi
jne 0x70a51ef8
mov edx, dword [0x70a72aa0]
and edx, 0x1ff
inc dword [edx*4 + 0x70a72ac0]
mov esi, eax
jmp 0x70a51f7a
mov eax, dword [esp + 0x34]
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
xor ebp, ebp
nop
call sym._clock
cmp eax, ebp
je 0x70a520a4
mov ecx, dword [0x70a72aa0]
mov ebx, dword [0x70a72aa4]
add ecx, 1
adc ebx, 0
mov dword [0x70a72aa0], ecx
mov dword [0x70a72aa4], ebx
mov esi, ecx
and esi, 0x1ff
mov edx, eax
sub edx, ebp
mov ebp, edx
xor edx, edx
cmp ebp, 0xc46031b9
setae dl
lea edi, [edx*4]
add edi, edx
lea edi, [edi + edi*4]
lea edi, [edx + edi*8]
lea edi, [edi + edi*8]
lea edi, [edi + edi*8]
lea edi, [edx + edi*4]
lea edi, [edx + edi*2]
lea edi, [edx + edi*8]
lea edi, [edx + edi*8]
lea edx, [edx + edi*8]
mov edi, edx
shl edi, 4
sub edx, edi
sub ebp, edx
add dword [esi*4 + 0x70a72ac0], ebp
sub ecx, dword [esp + 0x28]
sbb ebx, dword [esp + 0x2c]
cmp ebx, 0
jbe 0x70a520c0
mov dword [esp + 4], 0xa0
lea ebx, [esp + 0x58]
mov dword [esp], ebx
call sym.avutil_ttv_51.dll_av_sha_init
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0x70a72ac0
mov dword [esp], ebx
call sym.avutil_ttv_51.dll_av_sha_update
lea eax, [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym.avutil_ttv_51.dll_av_sha_final
mov eax, dword [esp + 0x38]
rol ax, 8
rol eax, 0x10
rol ax, 8
mov edx, dword [esp + 0x58]
rol dx, 8
rol edx, 0x10
rol dx, 8
add eax, edx
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x70a72aa0]
and edx, 0x1ff
inc dword [edx*4 + 0x70a72ac0]
mov ebp, eax
jmp 0x70a51fb4
cmp ecx, 4
ja 0x70a5203d
mov ebp, eax
jmp 0x70a51fb4
mov dword [esp + 0x14], 0x43
mov dword [esp + 0x10], str.libavutil_random_seed.c
mov dword [esp + 0xc], str.sizeof_tmp____av_sha_size
mov dword [esp + 8], str.Assertion__s_failed_at__s:_d_n
mov dword [esp + 4], 8
mov dword [esp], 0
call sym.avutil_ttv_51.dll_av_log
call sym._abort
nop
nop
nop