Function at 0x1006ef90
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x40
call fcn.10097eb0
mov eax, dword [0x100f9124]
xor eax, esp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x58]
push ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
push ebp
xor ebp, ebp
sub eax, 1
cmp eax, 0x29
push esi
push edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ebp
jl 0x1006f232
mov ebx, dword [esp + 0x60]
mov edi, eax
sub edi, ebx
jns 0x1006efed
mov dword [esp + 0x14], 1
xor edi, edi
mov ebx, eax
lea esi, [eax - 0x14]
push 0x7b
add eax, esi
push str..crypto_rsa_rsa_oaep.c
push eax
mov dword [esp + 0x1c], esi
call fcn.10028d30
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x1006f026
push 0x7e
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x7a
push 4
call fcn.10024880
add esp, 0x14
jmp 0x1006f257
push edi
add esi, ebp
push 0
push esi
call fcn.100956b0
mov ecx, dword [esp + 0x2c]
push ebx
push ecx
lea edx, [esi + edi]
push edx
call fcn.10096770
lea ebx, [esi + 0x14]
call fcn.10025370
push eax
mov eax, dword [esp + 0x2c]
push eax
push ebx
lea ecx, [esp + 0x48]
push 0x14
push ecx
call fcn.1006ec20
add esp, 0x2c
test eax, eax
jne 0x1006f257
mov edi, esi
lea edx, [esp + 0x24]
xor ecx, ecx
sub edi, edx
lea eax, [esp + ecx + 0x24]
movzx edx, byte [edi + eax]
xor byte [eax], dl
movzx edx, byte [esi + ecx + 1]
xor byte [eax + 1], dl
movzx edx, byte [esi + ecx + 2]
xor byte [eax + 2], dl
movzx edx, byte [esi + ecx + 3]
xor byte [eax + 3], dl
movzx edx, byte [esi + ecx + 4]
xor byte [eax + 4], dl
add ecx, 5
cmp ecx, 0x14
jl 0x1006f070
call fcn.10025370
mov edi, dword [esp + 0x10]
push eax
push 0x14
lea eax, [esp + 0x2c]
push eax
push edi
push ebp
call fcn.1006ec20
add esp, 0x14
test eax, eax
jne 0x1006f257
test edi, edi
jle 0x1006f0de
mov ecx, ebx
mov eax, ebp
sub ecx, ebp
mov esi, edi
mov dl, byte [ecx + eax]
xor byte [eax], dl
add eax, 1
sub esi, 1
jne 0x1006f0d1
push 0
call fcn.10025370
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0x44]
push eax
push ecx
push edx
call fcn.1002e890
add esp, 0x18
mov eax, 0x14
lea ecx, [esp + 0x38]
mov edx, ebp
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1006f128
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006f110
test eax, eax
je 0x1006f185
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1006f177
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006f185
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1006f177
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006f185
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1006f177
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006f185
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1006f185
test esi, esi
mov eax, 1
jg 0x1006f187
or eax, 0xffffffff
jmp 0x1006f187
xor eax, eax
test eax, eax
jne 0x1006f232
cmp dword [esp + 0x14], eax
jne 0x1006f232
mov eax, 0x14
cmp eax, edi
jge 0x1006f1b1
cmp byte [eax + ebp], 0
jne 0x1006f1af
add eax, 1
cmp eax, edi
jl 0x1006f1a2
cmp eax, edi
je 0x1006f232
cmp byte [eax + ebp], 1
jne 0x1006f232
add eax, 1
sub edi, eax
mov esi, edi
cmp dword [esp + 0x58], esi
jge 0x1006f203
push 0xa6
push str..crypto_rsa_rsa_oaep.c
push 0x6d
push 0x7a
push 4
call fcn.10024880
add esp, 0x14
push ebp
or esi, 0xffffffff
call fcn.10028ed0
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.1009536d
add esp, 0x40
ret
mov ecx, dword [esp + 0x1c]
push esi
add eax, ebp
push eax
push ecx
call fcn.10096770
add esp, 0xc
push ebp
call fcn.10028ed0
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.1009536d
add esp, 0x40
ret
push 0xb3
push str..crypto_rsa_rsa_oaep.c
push 0x79
push 0x7a
push 4
call fcn.10024880
add esp, 0x14
test ebp, ebp
je 0x1006f257
push ebp
call fcn.10028ed0
add esp, 4
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
or eax, 0xffffffff
call fcn.1009536d
add esp, 0x40
ret