Function at 0x10108fb0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x78
call fcn.10123010
mov eax, dword [0x101c1b88]
xor eax, esp
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
push ebx
mov ebx, dword [esp + 0x90]
push ebp
mov ebp, dword [esp + 0x8c]
push esi
mov esi, dword [esp + 0x94]
push edi
mov edi, dword [esp + 0x8c]
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0
call fcn.100825b0
add esp, 4
test esi, esi
jne 0x10109015
mov dword [esp + 0x14], ebp
push ebp
call fcn.1009d1d0
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x18], ebp
jl 0x10109396
mov eax, dword [esp + 0xa0]
cmp eax, 0xffffffff
jne 0x1010908a
mov dword [esp + 0xa0], ebp
mov edx, dword [edi + 0x10]
push edx
call fcn.1007f5a0
mov esi, eax
sub esi, 1
push edi
and esi, 7
call fcn.1006a250
mov edi, eax
mov ecx, esi
mov eax, 0xff
shl eax, cl
mov cl, byte [ebx]
add esp, 8
test cl, al
je 0x101090ba
push 0x76
push str..crypto_rsa_rsa_pss.c
push 0x85
push 0x95
push 4
call fcn.10065aa0
add esp, 0x14
jmp 0x10109396
cmp eax, 0xfffffffe
jne 0x10109098
mov dword [esp + 0xa0], eax
jmp 0x1010903f
jge 0x1010903f
push 0x6f
push str..crypto_rsa_rsa_pss.c
push 0x88
push 0x95
push 4
call fcn.10065aa0
add esp, 0x14
jmp 0x10109396
test esi, esi
jne 0x101090c4
add ebx, 1
sub edi, 1
lea edx, [ebp + 2]
cmp edi, edx
jge 0x101090e8
push 0x7e
push str..crypto_rsa_rsa_pss.c
push 0x6d
push 0x95
push 4
call fcn.10065aa0
add esp, 0x14
jmp 0x10109396
mov ecx, edi
sub ecx, ebp
lea eax, [ecx - 2]
cmp dword [esp + 0xa0], eax
jle 0x101090ff
push 0x82
jmp 0x101090cd
cmp byte [ebx + edi - 1], 0xbc
je 0x10109129
push 0x86
push str..crypto_rsa_rsa_pss.c
push 0x86
push 0x95
push 4
call fcn.10065aa0
add esp, 0x14
jmp 0x10109396
lea edi, [ecx - 1]
push 0x8b
lea ecx, [ebx + edi]
push str..crypto_rsa_rsa_pss.c
push edi
mov dword [esp + 0x28], ecx
call fcn.10074010
mov ebp, eax
add esp, 0xc
test ebp, ebp
mov dword [esp + 0x20], ebp
jne 0x10109170
push 0x8d
push str..crypto_rsa_rsa_pss.c
push 0x41
push 0x95
push 4
call fcn.10065aa0
add esp, 0x14
jmp 0x10109389
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
push edi
push ebp
call fcn.100cc140
add esp, 0x14
test eax, eax
jl 0x10109389
test edi, edi
jle 0x101091b1
mov ecx, ebx
mov eax, ebp
sub ecx, ebp
mov ebp, edi
lea ecx, [ecx]
mov dl, byte [ecx + eax]
xor byte [eax], dl
add eax, 1
sub ebp, 1
jne 0x101091a0
mov ebp, dword [esp + 0x20]
test esi, esi
je 0x101091c6
mov ecx, 8
sub ecx, esi
mov eax, 0xff
sar eax, cl
and byte [ebp], al
xor esi, esi
cmp byte [ebp], 0
jne 0x101091de
lea eax, [edi - 1]
cmp esi, eax
jge 0x101091de
add esi, 1
cmp byte [esi + ebp], 0
je 0x101091d1
mov cl, byte [esi + ebp]
add esi, 1
cmp cl, 1
je 0x1010920c
push 0x98
push str..crypto_rsa_rsa_pss.c
push 0x87
push 0x95
push 4
call fcn.10065aa0
add esp, 0x14
jmp 0x10109389
mov eax, dword [esp + 0xa0]
test eax, eax
jl 0x10109242
mov edx, edi
sub edx, esi
cmp edx, eax
je 0x10109242
push 0x9c
push str..crypto_rsa_rsa_pss.c
push 0x88
push 0x95
push 4
call fcn.10065aa0
add esp, 0x14
jmp 0x10109389
mov eax, dword [esp + 0x28]
push 0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.10082600
add esp, 0xc
test eax, eax
je 0x10109389
push 8
lea edx, [esp + 0x30]
push 0x101a199c
push edx
call fcn.100827b0
add esp, 0xc
test eax, eax
je 0x10109389
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
push ebx
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.100827b0
add esp, 0xc
test eax, eax
je 0x10109389
sub edi, esi
je 0x101092b6
push edi
add esi, ebp
lea edx, [esp + 0x30]
push esi
push edx
call fcn.100827b0
add esp, 0xc
test eax, eax
je 0x10109389
push 0
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.100827c0
add esp, 0xc
test eax, eax
je 0x10109389
cmp ebx, 4
mov ecx, dword [esp + 0x1c]
mov eax, ebx
lea edx, [esp + 0x44]
jb 0x101092f5
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101092f9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101092e1
test eax, eax
je 0x10109356
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10109348
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10109356
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10109348
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10109356
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10109348
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10109356
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x10109356
test esi, esi
mov eax, 1
jg 0x10109358
or eax, 0xffffffff
jmp 0x10109358
xor eax, eax
test eax, eax
je 0x10109381
push 0xaa
push str..crypto_rsa_rsa_pss.c
push 0x68
push 0x95
push 4
call fcn.10065aa0
add esp, 0x14
mov dword [esp + 0x10], 0
jmp 0x10109389
mov dword [esp + 0x10], 1
test ebp, ebp
je 0x10109396
push ebp
call fcn.10074210
add esp, 4
lea eax, [esp + 0x2c]
push eax
call fcn.10082840
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011a380
add esp, 0x78
ret