Function at 0x100113f1
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 4
pop eax
call fcn.1005ead0
push ebx
push esi
xor ebx, ebx
cmp dword [0x100a4610], ebx
push edi
mov edi, str..cryptodesenc_read.c
mov esi, 0x4004
jne 0x1001142c
push 0x6a
push edi
push esi
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
test eax, eax
mov dword [0x100a4610], eax
je 0x10011656
cmp dword [0x100a4600], 0
jne 0x1001144e
push 0x6f
push edi
push esi
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
test eax, eax
mov dword [0x100a4600], eax
je 0x10011656
mov eax, dword [0x100a4604]
test eax, eax
jne 0x10011470
push 0x74
push edi
push esi
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
test eax, eax
mov dword [0x100a4604], eax
je 0x10011656
mov ecx, dword [0x100a460c]
test ecx, ecx
je 0x100114d4
mov esi, dword [ebp + 0x10]
cmp ecx, esi
jge 0x100114ae
push ecx
mov ecx, dword [0x100a4608]
add ecx, eax
push ecx
push dword [ebp + 0xc]
call sub.MSVCR70.dll_memcpy
mov eax, dword [0x100a460c]
and dword [0x100a460c], 0
add esp, 0xc
and dword [0x100a4608], 0
jmp 0x10011659
mov ecx, dword [0x100a4608]
push esi
add ecx, eax
push ecx
push dword [ebp + 0xc]
call sub.MSVCR70.dll_memcpy
add dword [0x100a4608], esi
add esp, 0xc
sub dword [0x100a460c], esi
jmp 0x10011652
mov edi, 0x4000
cmp dword [ebp + 0x10], edi
jle 0x100114e1
mov dword [ebp + 0x10], edi
push 4
pop eax
sub eax, ebx
push eax
mov eax, dword [0x100a4600]
add eax, ebx
push eax
push dword [ebp + 8]
call dword [sym.imp.MSVCR70.dll__read]
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x1001150d
call dword [sym.imp.MSVCR70.dll__errno]
cmp dword [eax], 4
je 0x10011517
test esi, esi
jle 0x100115cc
add ebx, esi
cmp ebx, 4
jl 0x100114e1
mov ecx, dword [0x100a4600]
movzx esi, byte [ecx]
lea eax, [ecx + 1]
movzx edx, byte [eax]
shl esi, 0x18
shl edx, 0x10
or esi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
movzx eax, byte [eax + 1]
or esi, edx
or esi, eax
cmp esi, edi
jg 0x10011656
test esi, esi
jl 0x10011656
push 8
pop ebx
cmp esi, ebx
jl 0x10011562
lea eax, [esi + 7]
cdq
idiv ebx
mov ebx, eax
shl ebx, 3
xor eax, eax
xor edi, edi
cmp ebx, eax
jle 0x100115a6
mov eax, ebx
sub eax, edi
push eax
add ecx, edi
push ecx
push dword [ebp + 8]
call dword [sym.imp.MSVCR70.dll__read]
add esp, 0xc
cmp eax, 0xffffffff
mov dword [ebp - 4], eax
jne 0x10011591
call dword [sym.imp.MSVCR70.dll__errno]
cmp dword [eax], 4
je 0x1001159a
cmp dword [ebp - 4], 0
jle 0x100115cc
add edi, dword [ebp - 4]
cmp edi, ebx
mov ecx, dword [0x100a4600]
jl 0x1001156a
xor eax, eax
mov edi, dword [ebp + 0x10]
cmp edi, esi
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
jge 0x100115ff
test byte [0x1009a25c], 1
push dword [0x100a4604]
push ecx
je 0x100115d3
call sym.LIBEAY32.dll_DES_pcbc_encrypt
jmp 0x100115d8
xor eax, eax
jmp 0x10011659
call sym.LIBEAY32.dll_DES_cbc_encrypt
add esp, 0x18
push edi
push dword [0x100a4604]
push dword [ebp + 0xc]
call sub.MSVCR70.dll_memcpy
add esp, 0xc
sub esi, edi
mov dword [0x100a460c], esi
mov dword [0x100a4608], edi
mov esi, edi
jmp 0x10011652
cmp edi, ebx
jge 0x10011636
test byte [0x1009a25c], 1
push dword [0x100a4610]
push ecx
je 0x1001161a
call sym.LIBEAY32.dll_DES_pcbc_encrypt
jmp 0x1001161f
call sym.LIBEAY32.dll_DES_cbc_encrypt
add esp, 0x18
push esi
push dword [0x100a4610]
push dword [ebp + 0xc]
call sub.MSVCR70.dll_memcpy
add esp, 0xc
jmp 0x10011652
test byte [0x1009a25c], 1
push dword [ebp + 0xc]
push ecx
je 0x1001164a
call sym.LIBEAY32.dll_DES_pcbc_encrypt
jmp 0x1001164f
call sym.LIBEAY32.dll_DES_cbc_encrypt
add esp, 0x18
mov eax, esi
jmp 0x10011659
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret