Function at 0x6e91d54e
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x84
mov eax, dword [ebp + 8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x64], eax
mov eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
cmp dword [ebp - 0x60], 0
sete al
movzx eax, al
test eax, eax
je 0x6e91d5c4
mov dword [esp + 0x14], 0x6e92e0fc
mov dword [esp + 0x10], str.content_out
mov dword [esp + 0xc], 0x95
mov dword [esp + 8], str.evutil.c
mov dword [esp + 4], 0x6e92d958
mov dword [esp], 0xdeaddead
call sym.libevent_core_2_1_6.dll_event_errx
cmp dword [ebp - 0x64], 0
sete al
movzx eax, al
test eax, eax
je 0x6e91d606
mov dword [esp + 0x14], 0x6e92e0fc
mov dword [esp + 0x10], str.len_out
mov dword [esp + 0xc], 0x96
mov dword [esp + 8], str.evutil.c
mov dword [esp + 4], 0x6e92d958
mov dword [esp], 0xdeaddead
call sym.libevent_core_2_1_6.dll_event_errx
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
cmp dword [ebp + 0x14], 0
je 0x6e91d625
or dword [ebp - 0x54], 0x8000
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x54]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call sym.libevent_core_2_1_6.dll_evutil_open_closeonexec_
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jns 0x6e91d652
mov eax, 0xffffffff
jmp 0x6e91d7e7
lea eax, [ebp - 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__fstati64]
call eax
test eax, eax
jne 0x6e91d68a
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
test edx, edx
js 0x6e91d68a
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov ebx, 0x7ffffffe
mov ecx, 0
cmp ebx, eax
sbb ecx, edx
jge 0x6e91d6a1
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__close]
call eax
mov eax, 0xfffffffe
jmp 0x6e91d7e7
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
add eax, 1
mov dword [esp], eax
call sym.libevent_core_2_1_6.dll_event_mm_malloc_
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x6e91d6d2
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__close]
call eax
mov eax, 0xfffffffe
jmp 0x6e91d7e7
mov dword [ebp - 0x50], 0
jmp 0x6e91d737
mov eax, dword [ebp - 0x44]
add dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x50], eax
jae 0x6e91d7a1
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x50], eax
setae al
movzx eax, al
test eax, eax
je 0x6e91d737
mov dword [esp + 0x14], 0x6e92e0fc
mov dword [esp + 0x10], str.read_so_far____size_t_st.st_size
mov dword [esp + 0xc], 0xb6
mov dword [esp + 8], str.evutil.c
mov dword [esp + 4], 0x6e92d958
mov dword [esp], 0xdeaddead
call sym.libevent_core_2_1_6.dll_event_errx
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov edx, 0
sub ecx, eax
sbb ebx, edx
mov eax, ecx
mov edx, ebx
mov ebx, 0x7fffffff
mov ecx, 0
cmp ebx, eax
sbb ecx, edx
jl 0x6e91d770
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov edx, eax
mov eax, dword [ebp - 0x50]
sub edx, eax
mov eax, edx
mov ecx, eax
jmp 0x6e91d775
mov ecx, 0x7fffffff
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
add eax, edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__read]
call eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jg 0x6e91d6db
jmp 0x6e91d7a2
nop
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__close]
call eax
cmp dword [ebp - 0x44], 0
jns 0x6e91d7c7
mov eax, dword [ebp - 0x48]
mov dword [esp], eax
call sym.libevent_core_2_1_6.dll_event_mm_free_
mov eax, 0xfffffffe
jmp 0x6e91d7e7
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
add eax, edx
mov byte [eax], 0
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x50]
mov dword [eax], edx
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov eax, 0
mov ebx, dword [ebp - 0xc]
xor ebx, dword [sym.imp.libssp_0.dll___stack_chk_guard]
je 0x6e91d7f7
call sym.___stack_chk_fail
add esp, 0x84
pop ebx
pop ebp
ret