Function at 0x5087d0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2c8
mov r10d, dword [0x007efe70]
test r10d, r10d
je 0x508b01
mov rcx, qword [0x007efea0]
test rcx, rcx
je 0x5089ff
mov edx, 0x8000
call sub.msvcrt.dll__open_1
cmp eax, 0xffffffff
mov ebx, eax
je 0x5089c0
lea rdi, [rsp + 0x60]
mov ecx, eax
mov rdx, rdi
call qword [sym.imp.msvcrt.dll__fstat64]
cmp eax, 0xffffffff
je 0x508a10
mov edx, dword [rsp + 0x60]
mov r8, qword [rsp + 0x80]
test eax, eax
movzx ecx, word [rsp + 0x66]
mov dword [rsp + 0x30], edx
movzx edx, word [rsp + 0x64]
mov qword [rsp + 0x48], r8
mov r8, qword [rsp + 0x88]
mov word [rsp + 0x36], cx
mov word [rsp + 0x34], dx
movzx edx, word [rsp + 0x68]
mov qword [rsp + 0x50], r8
mov r8, qword [rsp + 0x90]
mov word [rsp + 0x38], dx
movzx edx, word [rsp + 0x6a]
mov qword [rsp + 0x58], r8
mov word [rsp + 0x3a], dx
movzx edx, word [rsp + 0x6c]
mov word [rsp + 0x3c], dx
mov edx, dword [rsp + 0x70]
mov dword [rsp + 0x40], edx
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x44], edx
jne 0x508a22
and cx, 0xf000
cmp cx, 0x8000
jne 0x508a70
test edx, edx
je 0x508aa3
cmp edx, 0x258
mov rsi, qword [sym.imp.msvcrt.dll__errno]
je 0x5088fe
lea rcx, str.warning:_invalid_size_of_random_seed_file___not_used_n
call fcn.004cb850
mov rcx, rax
call fcn.004cb9e0
mov ecx, ebx
call sub.msvcrt.dll__close_1
xor eax, eax
jmp 0x508a01
call rsi
cmp dword [rax], 4
mov rbp, rsi
jne 0x508ad4
mov r8d, 0x258
mov rdx, rdi
mov ecx, ebx
call sub.msvcrt.dll__read
cmp eax, 0xffffffff
je 0x5088f0
cmp eax, 0x258
jne 0x508acd
mov ecx, ebx
lea rbx, [rsp + 0x28]
call sub.msvcrt.dll__close_1
xor r8d, r8d
mov rcx, rdi
mov edx, 0x258
call fcn.00508630
call sub.msvcrt.dll__getpid
xor r8d, r8d
cdqe
mov edx, 8
mov rcx, rbx
mov qword [rsp + 0x28], rax
call fcn.00508630
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
xor r8d, r8d
mov rcx, rbx
mov edx, 8
mov qword [rsp + 0x28], rax
call fcn.00508630
call sub.msvcrt.dll_clock
xor r8d, r8d
mov rcx, rbx
mov edx, 4
mov dword [rsp + 0x28], eax
call fcn.00508630
xor r8d, r8d
mov edx, 0x10
xor ecx, ecx
call fcn.005083c0
mov eax, 1
mov dword [0x007efe9c], 1
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rbx, qword [sym.imp.msvcrt.dll__errno]
call rbx
cmp dword [rax], 2
je 0x508abe
call rbx
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rbx, qword [0x007efea0]
lea rcx, str.cant_open___s:__s_n
mov rsi, rax
call fcn.004cb850
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.004cb9e0
xor eax, eax
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea rdx, [rsp + 0x30]
mov ecx, 6
xor eax, eax
mov rdi, rdx
rep stosq qword [rdi], rax
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rsi, qword [0x007efea0]
lea rcx, str.cant_stat___s:__s_n
mov rdi, rax
call fcn.004cb850
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call fcn.004cb9e0
mov ecx, ebx
call sub.msvcrt.dll__close_1
xor eax, eax
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rsi, qword [0x007efea0]
lea rcx, str.__s_is_not_a_regular_file___ignored_n
call fcn.004cb850
mov rdx, rsi
mov rcx, rax
call fcn.004cb9e0
mov ecx, ebx
call sub.msvcrt.dll__close_1
xor eax, eax
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea rcx, str.note:_random_seed_file_is_empty_n
call fcn.004cb850
mov rcx, rax
call fcn.004cb9e0
mov ecx, ebx
call sub.msvcrt.dll__close_1
mov dword [0x007efe9c], 1
jmp 0x5089ff
mov rbp, qword [sym.imp.msvcrt.dll__errno]
call rbp
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rbx, qword [0x007efea0]
lea rcx, str.cant_read___s:__s_n
mov rsi, rax
call fcn.004cb850
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.004cba70
lea r9, str.read_seed_file
lea rdx, str.random_csprng.c
lea rcx, str.pool_is_locked
mov r8d, 0x2e7
call fcn.004cb9b0
nop
nop word cs:[rax + rax]