Function at 0x550490
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x548
call fcn.006db7b0
mov eax, dword [0x7eba44]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x540], 0
cmp dword [ebp + 0xc], 0
jne 0x5504be
xor eax, eax
jmp 0x55071f
push 0x7d576c
mov eax, dword [ebp + 8]
push eax
call fcn.005b2850
add esp, 8
mov dword [ebp - 0x538], eax
cmp dword [ebp - 0x538], 0
jne 0x550514
call fcn.005798d0
push str.RAND_load_file
push 0x6a
push str.crypto_rand_randfile.c
call fcn.00579920
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
push str.Filename_s
push 0x79
push 0x24
call fcn.00579970
add esp, 0x10
or eax, 0xffffffff
jmp 0x55071f
lea edx, [ebp - 0x534]
push edx
mov eax, dword [ebp - 0x538]
push eax
call fcn.006e6497
add esp, 4
push eax
call fcn.006ee94c
add esp, 8
test eax, eax
jge 0x55057c
call fcn.005798d0
push str.RAND_load_file
push 0x71
push str.crypto_rand_randfile.c
call fcn.00579920
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
push str.Filename_s
push 0x71
push 0x24
call fcn.00579970
add esp, 0x10
mov edx, dword [ebp - 0x538]
push edx
call fcn.006e6467
add esp, 4
or eax, 0xffffffff
jmp 0x55071f
cmp dword [ebp + 0xc], 0
jge 0x5505a2
movzx eax, word [ebp - 0x52e]
and eax, 0x8000
je 0x55059b
mov ecx, dword [ebp - 0x520]
mov dword [ebp + 0xc], ecx
jmp 0x5505a2
mov dword [ebp + 0xc], 0x100
push 0
mov edx, dword [ebp - 0x538]
push edx
call fcn.006f21f7
add esp, 8
cmp dword [ebp + 0xc], 0
jle 0x5505e5
cmp dword [ebp + 0xc], 0x500
jg 0x5505cd
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x544], eax
jmp 0x5505d7
mov dword [ebp - 0x544], 0x400
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x548], ecx
jmp 0x5505ef
mov dword [ebp - 0x548], 0x500
mov edx, dword [ebp - 0x538]
push edx
mov eax, dword [ebp - 0x548]
push eax
push 1
lea ecx, [ebp - 0x504]
push ecx
call fcn.006e66a4
add esp, 0x10
mov dword [ebp - 0x53c], eax
mov edx, dword [ebp - 0x538]
push edx
call fcn.006f1a5a
add esp, 4
test eax, eax
je 0x55064e
call fcn.006e73ef
cmp dword [eax], 4
jne 0x55064e
mov eax, dword [ebp - 0x538]
push eax
call fcn.006f4af4
add esp, 4
cmp dword [ebp - 0x53c], 0
jne 0x55064e
jmp 0x5505b3
cmp dword [ebp - 0x53c], 0
jne 0x550659
jmp 0x5506b7
cvtsi2sd xmm0, dword [ebp - 0x53c]
mov eax, 8
call fcn.006db7b0
movsd qword [esp], xmm0
mov ecx, dword [ebp - 0x53c]
push ecx
lea edx, [ebp - 0x504]
push edx
call fcn.0053cac0
add esp, 0x10
mov eax, dword [ebp - 0x540]
add eax, dword [ebp - 0x53c]
mov dword [ebp - 0x540], eax
cmp dword [ebp + 0xc], 0
jle 0x5506b2
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp - 0x53c]
mov dword [ebp + 0xc], ecx
cmp dword [ebp + 0xc], 0
jg 0x5506b2
jmp 0x5506b7
jmp 0x5505b3
push 0x500
lea edx, [ebp - 0x504]
push edx
call fcn.004017e0
add esp, 8
mov eax, dword [ebp - 0x538]
push eax
call fcn.006e6467
add esp, 4
call fcn.0053d140
test eax, eax
jne 0x550719
call fcn.005798d0
push str.RAND_load_file
push 0xae
push str.crypto_rand_randfile.c
call fcn.00579920
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
push str.Filename_s
push 0x76
push 0x24
call fcn.00579970
add esp, 0x10
or eax, 0xffffffff
jmp 0x55071f
mov eax, dword [ebp - 0x540]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006dbabd
mov esp, ebp
pop ebp
ret