Function at 0x10066a80
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x28
call fcn.1008ca50
mov eax, dword [0x100c94f0]
xor eax, esp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
mov ebp, dword [esp + 0x38]
add ebp, 0xffffffff
lea edx, [ebp - 0x29]
cmp ebx, edx
push edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jle 0x10066ae7
push 0x2d
push str..crypto_rsa_rsa_oaep.c
push 0x6e
push 0x79
push 4
call fcn.10005760
add esp, 0x14
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.1008c6e8
add esp, 0x28
ret
cmp ebp, 0x29
jge 0x10066b15
push 0x33
push str..crypto_rsa_rsa_oaep.c
push 0x78
push 0x79
push 4
call fcn.10005760
add esp, 0x14
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.1008c6e8
add esp, 0x28
ret
push 0x37
lea eax, [ebp - 0x14]
push str..crypto_rsa_rsa_oaep.c
push eax
mov dword [esp + 0x18], eax
call fcn.1000c280
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x10066b5d
push 0x3a
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x79
push 4
call fcn.10005760
add esp, 0x14
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.1008c6e8
add esp, 0x28
ret
push esi
mov byte [edi], 0
lea esi, [edi + 1]
push 0
add edi, 0x15
call fcn.100251d0
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x58]
push 0
push edi
push eax
push ecx
call fcn.10015850
mov edx, ebp
sub edx, ebx
sub edx, 0x29
push edx
lea eax, [edi + 0x14]
push 0
push eax
call sub.MSVCR80_Coverage_C_WINDOWS_WinSxS_x86__Microsoft__VC80__CRT__1fc8b3b9a1e18e3b__8__0__50727__4053__x_ww__e6967989.dll_memse
mov edx, dword [esp + 0x3c]
mov ecx, edi
sub ecx, ebx
add ebp, ecx
push ebx
mov byte [ebp - 0x15], 1
push edx
add ebp, 0xffffffec
push ebp
call sub.MSVCR80_Coverage_C_WINDOWS_WinSxS_x86__Microsoft__VC80__CRT__1fc8b3b9a1e18e3b__8__0__50727__4053__x_ww__e6967989.dll_memcp
push 0x14
push esi
call fcn.100034f0
add esp, 0x38
test eax, eax
jg 0x10066bd1
pop esi
pop edi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.1008c6e8
add esp, 0x28
ret
call fcn.100251d0
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
push eax
push 0x14
push esi
push ebx
push ebp
call fcn.10066910
add esp, 0x14
test ebx, ebx
jle 0x10066c03
mov eax, edi
sub ebp, edi
mov ecx, ebx
mov dl, byte [eax + ebp]
xor byte [eax], dl
add eax, 1
sub ecx, 1
jne 0x10066bf6
call fcn.100251d0
push eax
push ebx
push edi
lea eax, [esp + 0x2c]
push 0x14
push eax
call fcn.10066910
lea ecx, [esp + 0x34]
lea edi, [esp + 0x35]
lea ebp, [esp + 0x36]
lea edx, [esp + 0x37]
sub ecx, esi
sub edi, esi
sub ebp, esi
sub edx, esi
lea ebx, [esp + 0x38]
add esp, 0x14
sub ebx, esi
mov eax, esi
mov dword [esp + 0x10], ebx
mov esi, 4
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 0x10066c43
mov ecx, dword [esp + 0x14]
push ecx
call fcn.1000c430
mov ecx, dword [esp + 0x38]
add esp, 4
lea eax, [esi + 1]
pop esi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.1008c6e8
add esp, 0x28
ret