Function at 0x11018a40
Capabilities:
Read file on windows

Disassembly:
push ebp
push esi
xor ebp, ebp
xor esi, esi
cmp dword [0x111455f0], ebp
jne 0x11018a71
push 0x6c
push str..cryptodesenc_read.c
push 0x4004
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
mov dword [0x111455f0], eax
cmp eax, ebp
jne 0x11018a71
pop esi
or eax, 0xffffffff
pop ebp
ret
cmp dword [0x111455e0], ebp
jne 0x11018a96
push 0x71
push str..cryptodesenc_read.c
push 0x4004
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
mov dword [0x111455e0], eax
cmp eax, ebp
je 0x11018a6b
mov eax, dword [0x111455e4]
cmp eax, ebp
jne 0x11018abc
push 0x76
push str..cryptodesenc_read.c
push 0x4004
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
mov dword [0x111455e4], eax
cmp eax, ebp
je 0x11018a6b
push ebx
push edi
mov edi, dword [0x111455ec]
cmp edi, ebp
je 0x11018b28
mov esi, dword [esp + 0x1c]
cmp edi, esi
jge 0x11018afa
mov ecx, dword [0x111455e8]
mov edx, dword [esp + 0x18]
push edi
add ecx, eax
push ecx
push edx
call fcn.110d37f0
add esp, 0xc
mov eax, edi
pop edi
pop ebx
pop esi
mov dword [0x111455ec], ebp
mov dword [0x111455e8], ebp
pop ebp
ret
mov ebx, dword [0x111455e8]
mov ecx, dword [esp + 0x18]
push esi
add eax, ebx
push eax
push ecx
call fcn.110d37f0
add esp, 0xc
add ebx, esi
sub edi, esi
mov dword [0x111455ec], edi
pop edi
mov dword [0x111455e8], ebx
pop ebx
mov eax, esi
pop esi
pop ebp
ret
mov edi, 0x4000
cmp dword [esp + 0x1c], edi
jle 0x11018b37
mov dword [esp + 0x1c], edi
mov ebx, dword [esp + 0x14]
jmp 0x11018b40
mov eax, dword [0x111455e0]
mov edx, 4
sub edx, esi
push edx
add eax, esi
push eax
push ebx
call fcn.110d4ef7
add esp, 0xc
cmp eax, 0xffffffff
jne 0x11018b6f
call fcn.110d4566
cmp dword [eax], 4
je 0x11018b75
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
ret
cmp eax, ebp
jle 0x11018b68
add esi, eax
cmp esi, 4
jl 0x11018b40
mov ecx, dword [0x111455e0]
movzx edx, byte [ecx + 1]
movzx esi, byte [ecx]
lea eax, [ecx + 1]
shl esi, 0x18
shl edx, 0x10
or esi, edx
movzx edx, byte [eax + 1]
inc eax
movzx eax, byte [eax + 1]
shl edx, 8
or esi, edx
or esi, eax
cmp esi, edi
ja 0x11018d22
cmp esi, 8
jge 0x11018bb6
mov ebp, 8
jmp 0x11018bca
lea eax, [esi + 7]
cdq
and edx, 7
add eax, edx
mov ebp, eax
sar ebp, 3
add ebp, ebp
add ebp, ebp
add ebp, ebp
xor edi, edi
test ebp, ebp
jle 0x11018c0a
mov edx, ebp
sub edx, edi
push edx
add ecx, edi
push ecx
push ebx
call fcn.110d4ef7
add esp, 0xc
cmp eax, 0xffffffff
jne 0x11018bf6
call fcn.110d4566
cmp dword [eax], 4
jne 0x11018b68
jmp 0x11018c00
test eax, eax
jle 0x11018b68
add edi, eax
cmp edi, ebp
mov ecx, dword [0x111455e0]
jl 0x11018bd0
mov edi, dword [esp + 0x1c]
cmp edi, esi
push 0
jge 0x11018c7c
test byte [0x1113e128], 1
je 0x11018c36
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [0x111455e4]
push edx
push esi
push eax
push ecx
call sym.LIBEAY32.dll_DES_pcbc_encrypt
jmp 0x11018c4e
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [0x111455e4]
push eax
push esi
push edx
push ecx
call sym.LIBEAY32.dll_DES_cbc_encrypt
mov eax, dword [0x111455e4]
mov ecx, dword [esp + 0x30]
add esp, 0x18
push edi
push eax
push ecx
call fcn.110d37f0
add esp, 0xc
sub esi, edi
mov dword [0x111455ec], esi
mov esi, edi
mov dword [0x111455e8], edi
pop edi
pop ebx
mov eax, esi
pop esi
pop ebp
ret
cmp edi, ebp
jge 0x11018cd9
test byte [0x1113e128], 1
je 0x11018ca3
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [0x111455f0]
push eax
push esi
push edx
push ecx
call sym.LIBEAY32.dll_DES_pcbc_encrypt
jmp 0x11018cba
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [0x111455f0]
push edx
push esi
push eax
push ecx
call sym.LIBEAY32.dll_DES_cbc_encrypt
mov ecx, dword [0x111455f0]
mov edx, dword [esp + 0x30]
add esp, 0x18
push esi
push ecx
push edx
call fcn.110d37f0
add esp, 0xc
pop edi
pop ebx
mov eax, esi
pop esi
pop ebp
ret
test byte [0x1113e128], 1
je 0x11018d02
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x20]
push edx
push esi
push eax
push ecx
call sym.LIBEAY32.dll_DES_pcbc_encrypt
add esp, 0x18
pop edi
pop ebx
mov eax, esi
pop esi
pop ebp
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x20]
push eax
push esi
push edx
push ecx
call sym.LIBEAY32.dll_DES_cbc_encrypt
add esp, 0x18
pop edi
pop ebx
mov eax, esi
pop esi
pop ebp
ret
pop edi
pop ebx
pop esi
or eax, 0xffffffff
pop ebp
ret