Function at 0x10010ff0
Capabilities:
Read file on windows

Disassembly:
push ebp
push esi
xor ebp, ebp
xor esi, esi
cmp dword [0x10152cf0], ebp
jne 0x10011021
push 0x6c
push str..cryptodesenc_read.c
push 0x4004
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
cmp eax, ebp
mov dword [0x10152cf0], eax
jne 0x10011021
pop esi
or eax, 0xffffffff
pop ebp
ret
cmp dword [0x10152ce0], ebp
jne 0x10011046
push 0x71
push str..cryptodesenc_read.c
push 0x4004
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
cmp eax, ebp
mov dword [0x10152ce0], eax
je 0x1001101b
mov eax, dword [0x10152ce4]
cmp eax, ebp
jne 0x1001106c
push 0x76
push str..cryptodesenc_read.c
push 0x4004
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0xc
cmp eax, ebp
mov dword [0x10152ce4], eax
je 0x1001101b
push ebx
push edi
mov edi, dword [0x10152cec]
cmp edi, ebp
je 0x100110d8
mov esi, dword [esp + 0x1c]
cmp edi, esi
jge 0x100110aa
mov ecx, dword [0x10152ce8]
mov edx, dword [esp + 0x18]
push edi
add ecx, eax
push ecx
push edx
call fcn.100d73f0
add esp, 0xc
mov eax, edi
pop edi
pop ebx
pop esi
mov dword [0x10152cec], ebp
mov dword [0x10152ce8], ebp
pop ebp
ret
mov ebx, dword [0x10152ce8]
mov ecx, dword [esp + 0x18]
push esi
add eax, ebx
push eax
push ecx
call fcn.100d73f0
add esp, 0xc
add ebx, esi
sub edi, esi
mov dword [0x10152cec], edi
pop edi
mov dword [0x10152ce8], ebx
pop ebx
mov eax, esi
pop esi
pop ebp
ret
mov edi, 0x4000
cmp dword [esp + 0x1c], edi
jle 0x100110e7
mov dword [esp + 0x1c], edi
mov ebx, dword [esp + 0x14]
jmp 0x100110f0
mov eax, dword [0x10152ce0]
mov edx, 4
sub edx, esi
push edx
add eax, esi
push eax
push ebx
call fcn.100d8b76
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1001111f
call fcn.100d81df
cmp dword [eax], 4
je 0x10011125
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
ret
cmp eax, ebp
jle 0x10011118
add esi, eax
cmp esi, 4
jl 0x100110f0
mov ecx, dword [0x10152ce0]
movzx edx, byte [ecx + 1]
movzx esi, byte [ecx]
lea eax, [ecx + 1]
shl esi, 0x18
shl edx, 0x10
or esi, edx
add eax, 1
xor edx, edx
mov dh, byte [eax]
movzx eax, byte [eax + 1]
or esi, edx
or esi, eax
cmp esi, edi
ja 0x100112d2
cmp esi, 8
jge 0x10011165
mov ebp, 8
jmp 0x10011179
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 0x100111ba
nop
mov edx, ebp
sub edx, edi
push edx
add ecx, edi
push ecx
push ebx
call fcn.100d8b76
add esp, 0xc
cmp eax, 0xffffffff
jne 0x100111a6
call fcn.100d81df
cmp dword [eax], 4
jne 0x10011118
jmp 0x100111b0
test eax, eax
jle 0x10011118
add edi, eax
cmp edi, ebp
mov ecx, dword [0x10152ce0]
jl 0x10011180
mov edi, dword [esp + 0x1c]
cmp edi, esi
push 0
jge 0x1001122c
test byte [0x1014a12c], 1
je 0x100111e6
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [0x10152ce4]
push edx
push esi
push eax
push ecx
call sym.LIBEAY32.dll_DES_pcbc_encrypt
jmp 0x100111fe
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [0x10152ce4]
push eax
push esi
push edx
push ecx
call sym.LIBEAY32.dll_DES_cbc_encrypt
mov eax, dword [0x10152ce4]
mov ecx, dword [esp + 0x30]
add esp, 0x18
push edi
push eax
push ecx
call fcn.100d73f0
add esp, 0xc
sub esi, edi
mov dword [0x10152cec], esi
mov esi, edi
mov dword [0x10152ce8], edi
pop edi
pop ebx
mov eax, esi
pop esi
pop ebp
ret
cmp edi, ebp
jge 0x10011289
test byte [0x1014a12c], 1
je 0x10011253
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
mov edx, dword [0x10152cf0]
push eax
push esi
push edx
push ecx
call sym.LIBEAY32.dll_DES_pcbc_encrypt
jmp 0x1001126a
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [0x10152cf0]
push edx
push esi
push eax
push ecx
call sym.LIBEAY32.dll_DES_cbc_encrypt
mov ecx, dword [0x10152cf0]
mov edx, dword [esp + 0x30]
add esp, 0x18
push esi
push ecx
push edx
call fcn.100d73f0
add esp, 0xc
pop edi
pop ebx
mov eax, esi
pop esi
pop ebp
ret
test byte [0x1014a12c], 1
je 0x100112b2
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