Function at 0x100e88f0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xb0
call fcn.10107480
mov eax, dword [0x101be8d0]
xor eax, esp
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc8]
push ebx
mov ebx, dword [esp + 0xc8]
push ebp
mov ebp, dword [esp + 0xc8]
push esi
mov esi, dword [esp + 0xe0]
push edi
xor edi, edi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], edi
cmp eax, edi
jne 0x100e8974
call fcn.100b4d20
mov dword [esp + 0x14], eax
cmp esi, edi
jne 0x100e897c
mov dword [esp + 0x24], eax
push eax
call fcn.100a2740
add esp, 4
cmp dword [esp + 0xc8], edi
mov dword [esp + 0x2c], eax
jle 0x100e8c10
cmp ebp, edi
jle 0x100e8c10
cmp ebx, ebp
jl 0x100e8b9f
lea ecx, [eax + eax + 2]
cmp ebx, ecx
jl 0x100e8b9f
mov esi, ebx
sub esi, eax
push 0x99
dec esi
push str.crypto_rsa_rsa_oaep.c
push esi
call fcn.100a10c0
push 0x9a
push str.crypto_rsa_rsa_oaep.c
push ebx
mov dword [esp + 0x28], eax
call fcn.100a10c0
add esp, 0x18
cmp dword [esp + 0x10], 0
mov edi, eax
mov dword [esp + 0x28], edi
je 0x100e8c02
test edi, edi
je 0x100e8c02
push ebx
push 0
push edi
call fcn.10104ed0
mov edx, dword [esp + 0x2c]
push ebp
sub ebx, ebp
push edx
add ebx, edi
push ebx
call fcn.10105350
movzx eax, byte [edi]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
lea ebp, [eax - 1]
not eax
shr eax, 0x1f
push ecx
shr ebp, 0x1f
and ebp, eax
lea eax, [edi + 1]
push esi
lea edi, [ebx + edi + 1]
push edi
lea edx, [esp + 0x60]
push ebx
push edx
neg ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x64], edi
call fcn.100e8590
add esp, 0x2c
test eax, eax
jne 0x100e8bba
xor edi, edi
test ebx, ebx
jle 0x100e8a70
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x3c]
sub ecx, eax
lea eax, [esp + edi + 0x3c]
mov dl, byte [ecx + eax]
xor byte [eax], dl
inc edi
cmp edi, ebx
jl 0x100e8a62
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
push eax
push ebx
lea ecx, [esp + 0x44]
push ecx
push esi
push edx
call fcn.100e8590
add esp, 0x14
test eax, eax
jne 0x100e8bba
test esi, esi
jle 0x100e8aac
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
sub edi, eax
mov ecx, esi
mov dl, byte [edi + eax]
xor byte [eax], dl
inc eax
sub ecx, 1
jne 0x100e8aa1
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xdc]
push 0
push eax
mov eax, dword [esp + 0x38]
push 0
lea ecx, [esp + 0x88]
push ecx
push edx
push eax
call fcn.100b4af0
add esp, 0x18
test eax, eax
je 0x100e8bba
mov edx, dword [esp + 0x10]
push ebx
lea ecx, [esp + 0x80]
push ecx
push edx
call fcn.100a1720
mov edi, dword [esp + 0x38]
lea ecx, [eax - 1]
shr ecx, 0x1f
not eax
shr eax, 0x1f
and ecx, eax
neg ecx
and ebp, ecx
add esp, 0xc
xor ebx, ebx
cmp edi, esi
mov dword [esp + 0x14], ebp
jge 0x100e8b64
nop
mov edx, dword [esp + 0x10]
movzx ecx, byte [edi + edx]
mov eax, ecx
xor eax, 1
lea edx, [eax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
mov eax, ebx
not eax
neg edx
and eax, edx
mov ebp, eax
and eax, edi
not ebp
and ebp, dword [esp + 0x18]
or ebx, edx
or ebp, eax
lea eax, [ecx - 1]
shr eax, 0x1f
not ecx
shr ecx, 0x1f
and eax, ecx
neg eax
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x14]
or eax, ebx
and ebp, eax
inc edi
cmp edi, esi
mov dword [esp + 0x14], ebp
jl 0x100e8b10
test ebp, ebx
je 0x100e8b9f
mov eax, dword [esp + 0x18]
inc eax
sub esi, eax
cmp dword [esp + 0xc8], esi
mov dword [esp + 0x1c], esi
jge 0x100e8beb
push 0xdf
push str.crypto_rsa_rsa_oaep.c
push 0x6d
push 0x99
push 4
call fcn.100a2040
add esp, 0x14
mov dword [esp + 0x1c], 0xffffffff
push 0xec
push str.crypto_rsa_rsa_oaep.c
push 0x79
push 0x99
push 4
call fcn.100a2040
add esp, 0x14
mov eax, dword [esp + 0x10]
push 0xee
push str.crypto_rsa_rsa_oaep.c
push eax
call fcn.100a1160
mov ecx, dword [esp + 0x34]
push 0xef
push str.crypto_rsa_rsa_oaep.c
push ecx
call fcn.100a1160
mov eax, dword [esp + 0x34]
add esp, 0x18
jmp 0x100e8c13
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
push esi
add eax, ecx
push eax
push edx
call fcn.10105350
add esp, 0xc
jmp 0x100e8bba
push 0x9c
push str.crypto_rsa_rsa_oaep.c
push 0x41
jmp 0x100e8bab
or eax, 0xffffffff
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101044ca
add esp, 0xb0
ret