Function at 0x57ad40
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 + 0xc], 0
mov dword [esp + 8], str.Microsoft_Primitive_Provider
mov dword [esp + 4], 0x70e77a
mov dword [esp], eax
call sub.bcrypt.dll_BCryptOpenAlgorithmProvider
sub esp, 0x10
test eax, eax
js 0x57add0
lea eax, [esp + 0x3c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.bcrypt.dll_BCryptGenRandom
sub esp, 0x10
mov ebx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.bcrypt.dll_BCryptCloseAlgorithmProvider
sub esp, 8
test ebx, ebx
js 0x57add0
mov eax, dword [esp + 0x3c]
add esp, 0xdc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0
mov dword [esp], 0x70e782
call fcn.00561500
cmp eax, 0xffffffff
mov ebx, eax
je 0x57ae12
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 0x57adb9
mov dword [esp + 4], 0
mov dword [esp], 0x70e78f
call fcn.00561500
cmp eax, 0xffffffff
mov ebx, eax
je 0x57ae58
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 0x57adb9
cmp dword [0x70ea24], 0x78
mov eax, dword [0x7f7180]
mov edx, dword [0x7f7184]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
ja 0x57b0b7
rdtsc
xor dword [0x7f69b4], eax
rdtsc
mov edi, dword [esp + 0x2c]
mov ecx, eax
mov esi, dword [esp + 0x28]
xor eax, eax
xor ebx, ebx
add eax, ecx
adc edx, ebx
xor dword [0x7f6a24], edx
mov edx, edi
or edx, esi
jne 0x57afe5
xor ebp, ebp
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 0x57af85
mov esi, dword [0x7f7180]
mov edi, dword [0x7f7184]
add esi, 1
mov ecx, esi
adc edi, 0
xor edx, edx
and ecx, 0x1ff
cmp ebx, 0xc46031b9
mov dword [0x7f7180], esi
setae dl
mov dword [esp + 0x20], ecx
mov ecx, ebx
imul edx, edx, 0xc46031b9
mov dword [0x7f7184], edi
sub ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0x20]
add dword [ecx*4 + 0x7f6980], edx
mov edx, eax
sub edx, ebp
cmp edx, 0x1e
jle 0x57afbf
cmp edi, 0
jbe 0x57afd0
rdtsc
lea ebx, [esp + 0x58]
mov dword [esp + 4], 0xa0
add dword [0x7f6b3c], eax
mov dword [esp], ebx
call fcn.00663d5c
mov dword [esp], ebx
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0x7f6980
call fcn.005819f0
lea eax, [esp + 0x44]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00581b30
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 edx, dword [0x7f7180]
xor ecx, ecx
mov edi, ebx
and edx, 0x1ff
imul esi, dword [edx*4 + 0x7f6980], 0x19660d
cmp ebx, 0xc46031b9
setae cl
imul ecx, ecx, 0xc46031b9
sub edi, ecx
lea ecx, [esi + edi + 0x3c6ef35f]
mov dword [edx*4 + 0x7f6980], ecx
test ebp, ebp
mov esi, eax
cmove ebp, eax
jmp 0x57aeb0
cmp esi, 0x40
ja 0x57af26
test ebp, ebp
mov esi, eax
cmove ebp, eax
jmp 0x57aeb0
xor esi, esi
xor ebx, ebx
xor edi, edi
jmp 0x57b02b
and edx, 0x1ff
xor ecx, ecx
mov ebp, ebx
imul edi, dword [edx*4 + 0x7f6980], 0x19660d
cmp ebx, 0xc46031b9
setae cl
imul ecx, ecx, 0xc46031b9
sub ebp, ecx
lea ecx, [edi + ebp + 0x3c6ef35f]
mov dword [edx*4 + 0x7f6980], ecx
test esi, esi
mov edi, eax
cmove esi, eax
call sub.msvcrt.dll_clock
lea edx, [edi + ebx*2]
mov ebx, eax
sub ebx, edi
cmp eax, edx
mov edx, dword [0x7f7180]
jle 0x57aff0
mov ecx, dword [0x7f7184]
add edx, 1
mov ebp, edx
mov dword [0x7f7180], edx
mov dword [esp + 0x20], edx
adc ecx, 0
and ebp, 0x1ff
mov dword [0x7f7184], ecx
mov dword [esp + 0x24], ecx
xor ecx, ecx
cmp ebx, 0xc46031b9
setae cl
mov edi, ecx
mov ecx, ebx
imul edi, edi, 0xc46031b9
sub ecx, edi
mov edi, eax
add dword [ebp*4 + 0x7f6980], ecx
sub edi, esi
cmp edi, 0x1e
jle 0x57b024
mov edx, dword [esp + 0x20]
sub edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
sbb ecx, dword [esp + 0x2c]
cmp ecx, 0
ja 0x57af26
cmp edx, 4
ja 0x57af26
jmp 0x57b024
mov dword [esp + 0x14], 0x4d
mov dword [esp + 0x10], str.libavutil_random_seed.c
mov dword [esp + 0xc], str.sizeof_tmp____av_sha_size
mov dword [esp + 8], 0x70e7ce
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0056b9c0
call sub.msvcrt.dll_abort