Function at 0x1003dab0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x9c
call fcn.100bf140
mov eax, dword [0x10116cb0]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa0]
push ebx
push ebp
mov ebp, dword [esp + 0xb4]
xor ebx, ebx
push esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xb4]
push edi
mov dword [esp + 0x14], eax
xor edi, edi
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0
cmp dword [esp + 0xb4], ebx
jle 0x1003dde7
test ebp, ebp
jle 0x1003dde7
cmp esi, ebp
jl 0x1003dd7e
cmp esi, 0x2a
jl 0x1003dd7e
push 0x78
lea ebx, [esi - 0x15]
push str..crypto_rsa_rsa_oaep.c
push ebx
call sym.LIBEAY32.dll_CRYPTO_malloc
push 0x79
push str..crypto_rsa_rsa_oaep.c
push esi
mov edi, eax
call sym.LIBEAY32.dll_CRYPTO_malloc
add esp, 0x18
mov dword [esp + 0x10], eax
test edi, edi
je 0x1003ddad
test eax, eax
je 0x1003ddad
push esi
push 0
push eax
call sub.MSVCR120.dll_memset
push ebp
push dword [esp + 0x24]
sub esi, ebp
mov ebp, dword [esp + 0x24]
add esi, ebp
push esi
call sub.MSVCR120.dll_memcpy
movzx eax, byte [ebp]
lea esi, [ebp + 1]
push ebx
add ebp, 0x15
push ebp
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
lea eax, [esp + 0x48]
neg ecx
push 0x14
push eax
mov dword [esp + 0x40], ecx
call fcn.1003d6a0
add esp, 0x28
test eax, eax
jne 0x1003ddc2
lea eax, [esi + 0x13]
xor edx, edx
lea ecx, [esp + 0x28]
cmp ecx, eax
ja 0x1003dbd0
lea eax, [esp + 0x3b]
cmp eax, esi
jae 0x1003dbe9
lea ebx, [ebx]
movdqu xmm1, xmmword [esi]
mov edx, 0x10
movdqu xmm0, xmmword [esp + 0x28]
pxor xmm1, xmm0
movdqu xmmword [esp + 0x28], xmm1
lea eax, [esp + 0x28]
sub esi, eax
nop
lea ecx, [esp + 0x28]
add ecx, edx
inc edx
mov al, byte [esi + ecx]
xor byte [ecx], al
cmp edx, 0x14
jl 0x1003dbf0
call sym.LIBEAY32.dll_EVP_sha1
push eax
push 0x14
lea eax, [esp + 0x30]
push eax
push ebx
push edi
call sym.LIBEAY32.dll_PKCS1_MGF1
add esp, 0x14
test eax, eax
jne 0x1003ddc2
xor edx, edx
test ebx, ebx
jle 0x1003dc8c
cmp ebx, 0x10
jb 0x1003dc72
lea eax, [ebp - 1]
lea ecx, [ebx - 1]
add eax, ebx
add ecx, edi
cmp edi, eax
ja 0x1003dc3d
cmp ecx, ebp
jae 0x1003dc72
mov eax, ebx
and eax, reloc.WS2_32.dll_ntohs
jns 0x1003dc4b
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, ebx
mov esi, ebp
sub ecx, eax
mov eax, edi
sub esi, edi
movdqu xmm1, xmmword [esi + eax]
add edx, 0x10
lea eax, [eax + 0x10]
movdqu xmm0, xmmword [eax - 0x10]
pxor xmm1, xmm0
movdqu xmmword [eax - 0x10], xmm1
cmp edx, ecx
jl 0x1003dc55
cmp edx, ebx
jge 0x1003dc8c
mov esi, ebx
lea ecx, [edx + edi]
sub ebp, edi
sub esi, edx
nop
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
dec esi
jne 0x1003dc80
push 0
call sym.LIBEAY32.dll_EVP_sha1
push eax
push 0
lea eax, [esp + 0x74]
push eax
push dword [esp + 0xd8]
push dword [esp + 0x38]
call sym.LIBEAY32.dll_EVP_Digest
add esp, 0x18
test eax, eax
je 0x1003ddc2
push 0x14
lea eax, [esp + 0x6c]
push eax
push edi
call sym.LIBEAY32.dll_CRYPTO_memcmp
mov edx, dword [esp + 0x24]
add esp, 0xc
xor ebp, ebp
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov eax, 0x14
neg ecx
mov dword [esp + 0x14], eax
and edx, ecx
mov dword [esp + 0x18], edx
cmp ebx, eax
jle 0x1003dd4c
mov edi, edi
movzx esi, byte [eax + edi]
mov ecx, ebp
mov eax, esi
not ecx
xor eax, 1
lea edx, [eax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
or ebp, edx
mov edx, dword [esp + 0x18]
mov eax, ecx
and ecx, dword [esp + 0x14]
not eax
and eax, dword [esp + 0x1c]
or ecx, eax
lea eax, [esi - 1]
shr eax, 0x1f
not esi
shr esi, 0x1f
and eax, esi
mov dword [esp + 0x1c], ecx
neg eax
or eax, ebp
and edx, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
cmp eax, ebx
jl 0x1003dcf0
jmp 0x1003dd4e
xor ecx, ecx
test edx, ebp
je 0x1003dd7a
lea eax, [ecx + 1]
mov esi, ebx
sub esi, eax
cmp dword [esp + 0xb4], esi
jge 0x1003dd9b
push 0xbf
push str..crypto_rsa_rsa_oaep.c
push 0x6d
push 0x7a
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
mov ebx, dword [esp + 0x10]
push 0xcb
push str..crypto_rsa_rsa_oaep.c
push 0x79
push 0x7a
push 4
or esi, 0xffffffff
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
jmp 0x1003ddc9
push esi
add eax, edi
push eax
push dword [esp + 0x28]
call sub.MSVCR120.dll_memcpy
add esp, 0xc
jmp 0x1003ddc5
push 0x7b
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x7a
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
or esi, 0xffffffff
mov ebx, dword [esp + 0x10]
test edi, edi
je 0x1003ddd6
push edi
call sym.LIBEAY32.dll_CRYPTO_free
add esp, 4
test ebx, ebx
je 0x1003dde3
push ebx
call sym.LIBEAY32.dll_CRYPTO_free
add esp, 4
mov eax, esi
jmp 0x1003ddea
or eax, 0xffffffff
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100bf100
add esp, 0x9c
ret