Function at 0x1003d320
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x20
call fcn.100bff40
mov eax, dword [0x10116c70]
xor eax, esp
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
push ebx
mov ebx, dword [esp + 0x2c]
dec ebx
push edi
mov edi, dword [esp + 0x38]
mov dword [esp + 8], ecx
lea ecx, [ebx - 0x29]
cmp edi, ecx
mov dword [esp + 0xc], edx
jle 0x1003d383
push 0x2e
push str..crypto_rsa_rsa_oaep.c
push 0x6e
push 0x79
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
pop edi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.100bff70
add esp, 0x20
ret
cmp ebx, 0x29
jge 0x1003d3b0
push 0x34
push str..crypto_rsa_rsa_oaep.c
push 0x78
push 0x79
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
pop edi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.100bff70
add esp, 0x20
ret
push ebp
push esi
push 0
mov byte [eax], 0
lea esi, [eax + 1]
lea ebp, [eax + 0x15]
call sym.LIBEAY32.dll_EVP_sha1
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x1c]
push 0
push ebp
push edx
push eax
call sym.LIBEAY32.dll_EVP_Digest
add esp, 0x18
test eax, eax
je 0x1003d449
mov ecx, ebx
sub ecx, edi
sub ecx, 0x29
push ecx
lea edx, [ebp + 0x14]
push 0
push edx
call sub.MSVCR90.dll_memset
mov ecx, dword [esp + 0x1c]
mov eax, ebp
sub eax, edi
add eax, ebx
push edi
mov byte [eax - 0x15], 1
push ecx
add eax, 0xffffffec
push eax
call sub.MSVCR90.dll_memcpy
push 0x14
push esi
call sym.LIBEAY32.dll_RAND_bytes
add esp, 0x20
test eax, eax
jle 0x1003d449
push 0x4a
add ebx, 0xffffffec
push str..crypto_rsa_rsa_oaep.c
push ebx
call sym.LIBEAY32.dll_CRYPTO_malloc
mov edi, eax
add esp, 0xc
mov dword [esp + 0x14], edi
test edi, edi
jne 0x1003d45e
push 0x4d
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x79
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
pop esi
pop ebp
pop edi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.100bff70
add esp, 0x20
ret
push 0x14
push esi
push ebx
push edi
call fcn.1003d2f0
add esp, 0x10
test eax, eax
jl 0x1003d449
test ebx, ebx
jle 0x1003d48b
mov eax, ebp
sub edi, ebp
mov ecx, ebx
lea esp, [esp]
mov dl, byte [edi + eax]
xor byte [eax], dl
inc eax
sub ecx, 1
jne 0x1003d480
call sym.LIBEAY32.dll_EVP_sha1
push eax
push ebx
push ebp
lea eax, [esp + 0x24]
push 0x14
push eax
call sym.LIBEAY32.dll_PKCS1_MGF1
add esp, 0x14
test eax, eax
jl 0x1003d449
lea ecx, [esp + 0x18]
lea edi, [esp + 0x19]
lea ebp, [esp + 0x1a]
lea edx, [esp + 0x1b]
sub ecx, esi
sub edi, esi
sub ebp, esi
sub edx, esi
lea ebx, [esp + 0x1c]
sub ebx, esi
mov eax, esi
mov dword [esp + 0x10], ebx
mov esi, 4
nop
movzx ebx, byte [ecx + eax]
xor byte [eax], bl
movzx ebx, byte [edi + eax]
xor byte [eax + 1], bl
movzx ebx, byte [eax + ebp]
xor byte [eax + 2], bl
movzx ebx, byte [edx + eax]
xor byte [eax + 3], bl
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx + eax]
xor byte [eax + 4], bl
add eax, 5
sub esi, 1
jne 0x1003d4d0
mov ecx, dword [esp + 0x14]
push ecx
call sym.LIBEAY32.dll_CRYPTO_free
mov ecx, dword [esp + 0x30]
add esp, 4
lea eax, [esi + 1]
pop esi
pop ebp
pop edi
pop ebx
xor ecx, esp
call fcn.100bff70
add esp, 0x20
ret