Function at 0x10043100
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], 0x100e9aae
mov dword [esp], eax
call sub.bcrypt.dll_BCryptOpenAlgorithmProvider
sub esp, 0x10
test eax, eax
js 0x10043190
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 0x10043190
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], str._dev_urandom
call sym.avutil_56.dll_avpriv_open
cmp eax, 0xffffffff
mov ebx, eax
je 0x100431d2
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 0x10043179
mov dword [esp + 4], 0
mov dword [esp], str._dev_random
call sym.avutil_56.dll_avpriv_open
cmp eax, 0xffffffff
mov ebx, eax
je 0x10043218
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 0x10043179
cmp dword [sym.avutil_56.dll_av_sha_size], 0x78
mov eax, dword [0x10102f20]
mov edx, dword [0x10102f24]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
ja 0x1004346e
rdtsc
xor dword [0x10102754], eax
rdtsc
mov ecx, eax
xor eax, eax
xor ebx, ebx
add eax, ecx
mov eax, dword [esp + 0x28]
adc edx, ebx
xor dword [0x101027c4], edx
mov edx, dword [esp + 0x2c]
mov esi, edx
or esi, eax
jne 0x10043340
xor ebp, ebp
xor ebx, ebx
xor esi, esi
jmp 0x100432e7
mov esi, dword [0x10102f20]
mov edi, dword [0x10102f24]
add esi, 1
mov ecx, esi
adc edi, 0
xor edx, edx
and ecx, 0x1ff
cmp ebx, 0xc46031b9
mov dword [0x10102f20], esi
setae dl
mov dword [esp + 0x20], ecx
mov ecx, ebx
imul edx, edx, 0xc46031b9
mov dword [0x10102f24], edi
sub ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0x20]
add dword [ecx*4 + 0x10102720], edx
mov edx, eax
sub edx, ebp
cmp edx, 0x1e
jle 0x100432e0
cmp edi, 0
ja 0x10043405
cmp esi, 0x40
ja 0x10043405
mov esi, esi
lea edi, [edi]
test ebp, ebp
mov esi, eax
cmove ebp, eax
call sub.msvcrt.dll_clock
lea edx, [esi + ebx*2]
mov ebx, eax
sub ebx, esi
cmp eax, edx
jg 0x10043270
mov edx, dword [0x10102f20]
xor ecx, ecx
mov edi, ebx
and edx, 0x1ff
imul esi, dword [edx*4 + 0x10102720], 0x19660d
cmp ebx, 0xc46031b9
setae cl
imul ecx, ecx, 0xc46031b9
sub edi, ecx
lea ecx, [esi + edi + 0x3c6ef35f]
mov dword [edx*4 + 0x10102720], ecx
jmp 0x100432e0
xor esi, esi
xor ebx, ebx
xor edi, edi
jmp 0x1004338b
and edx, 0x1ff
xor ecx, ecx
mov ebp, ebx
imul edi, dword [edx*4 + 0x10102720], 0x19660d
cmp ebx, 0xc46031b9
setae cl
imul ecx, ecx, 0xc46031b9
sub ebp, ecx
lea ecx, [edi + ebp + 0x3c6ef35f]
mov dword [edx*4 + 0x10102720], 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 [0x10102f20]
jle 0x10043350
mov ecx, dword [0x10102f24]
add edx, 1
mov ebp, edx
mov dword [0x10102f20], edx
mov dword [esp + 0x20], edx
adc ecx, 0
and ebp, 0x1ff
mov dword [0x10102f24], 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 + 0x10102720], ecx
sub edi, esi
cmp edi, 0x1e
jle 0x10043384
mov edx, dword [esp + 0x20]
sub edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
sbb ecx, dword [esp + 0x2c]
cmp ecx, 0
jbe 0x10043464
rdtsc
lea ebx, [esp + 0x58]
mov dword [esp + 4], 0xa0
add dword [0x101028dc], eax
mov dword [esp], ebx
call sym.avutil_56.dll_av_sha_init
mov dword [esp], ebx
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0x10102720
call sym.avutil_56.dll_av_sha_update
lea eax, [esp + 0x44]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym.avutil_56.dll_av_sha_final
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
cmp edx, 4
ja 0x10043405
jmp 0x10043384
mov dword [esp + 0x14], 0x4d
mov dword [esp + 0x10], str.src_libavutil_random_seed.c
mov dword [esp + 0xc], str.sizeof_tmp____av_sha_size
mov dword [esp + 8], 0x100e9b06
mov dword [esp + 4], 0
mov dword [esp], 0
call sym.avutil_56.dll_av_log
call sub.msvcrt.dll_abort
nop
nop
nop
nop
nop
nop
nop
nop
nop