Function at 0x10089080
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x78
call fcn.10033890
mov eax, dword [0x1012f5f0]
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.100738b0
add esp, 4
test esi, esi
jne 0x100890e5
mov dword [esp + 0x14], ebp
push ebp
call fcn.10052ad0
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x18], ebp
jl 0x10089466
mov eax, dword [esp + 0xa0]
cmp eax, 0xffffffff
jne 0x1008915a
mov dword [esp + 0xa0], ebp
mov edx, dword [edi + 0x10]
push edx
call fcn.10065470
mov esi, eax
sub esi, 1
push edi
and esi, 7
call fcn.10060820
mov edi, eax
mov ecx, esi
mov eax, 0xff
shl eax, cl
mov cl, byte [ebx]
add esp, 8
test cl, al
je 0x1008918a
push 0x76
push str..crypto_rsa_rsa_pss.c
push 0x85
push 0x95
push 4
call fcn.1003ae70
add esp, 0x14
jmp 0x10089466
cmp eax, 0xfffffffe
jne 0x10089168
mov dword [esp + 0xa0], eax
jmp 0x1008910f
jge 0x1008910f
push 0x6f
push str..crypto_rsa_rsa_pss.c
push 0x88
push 0x95
push 4
call fcn.1003ae70
add esp, 0x14
jmp 0x10089466
test esi, esi
jne 0x10089194
add ebx, 1
sub edi, 1
lea edx, [ebp + 2]
cmp edi, edx
jge 0x100891b8
push 0x7e
push str..crypto_rsa_rsa_pss.c
push 0x6d
push 0x95
push 4
call fcn.1003ae70
add esp, 0x14
jmp 0x10089466
mov ecx, edi
sub ecx, ebp
lea eax, [ecx - 2]
cmp dword [esp + 0xa0], eax
jle 0x100891cf
push 0x82
jmp 0x1008919d
cmp byte [ebx + edi - 1], 0xbc
je 0x100891f9
push 0x86
push str..crypto_rsa_rsa_pss.c
push 0x86
push 0x95
push 4
call fcn.1003ae70
add esp, 0x14
jmp 0x10089466
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.100407f0
mov ebp, eax
add esp, 0xc
test ebp, ebp
mov dword [esp + 0x20], ebp
jne 0x10089240
push 0x8d
push str..crypto_rsa_rsa_pss.c
push 0x41
push 0x95
push 4
call fcn.1003ae70
add esp, 0x14
jmp 0x10089459
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.100898e0
add esp, 0x14
test eax, eax
jl 0x10089459
test edi, edi
jle 0x10089281
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 0x10089270
mov ebp, dword [esp + 0x20]
test esi, esi
je 0x10089296
mov ecx, 8
sub ecx, esi
mov eax, 0xff
sar eax, cl
and byte [ebp], al
xor esi, esi
cmp byte [ebp], 0
jne 0x100892ae
lea eax, [edi - 1]
cmp esi, eax
jge 0x100892ae
add esi, 1
cmp byte [esi + ebp], 0
je 0x100892a1
mov cl, byte [esi + ebp]
add esi, 1
cmp cl, 1
je 0x100892dc
push 0x98
push str..crypto_rsa_rsa_pss.c
push 0x87
push 0x95
push 4
call fcn.1003ae70
add esp, 0x14
jmp 0x10089459
mov eax, dword [esp + 0xa0]
test eax, eax
jl 0x10089312
mov edx, edi
sub edx, esi
cmp edx, eax
je 0x10089312
push 0x9c
push str..crypto_rsa_rsa_pss.c
push 0x88
push 0x95
push 4
call fcn.1003ae70
add esp, 0x14
jmp 0x10089459
mov eax, dword [esp + 0x28]
push 0
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.10073900
add esp, 0xc
test eax, eax
je 0x10089459
push 8
lea edx, [esp + 0x30]
push 0x101106a8
push edx
call fcn.10073ab0
add esp, 0xc
test eax, eax
je 0x10089459
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
push ebx
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.10073ab0
add esp, 0xc
test eax, eax
je 0x10089459
sub edi, esi
je 0x10089386
push edi
add esi, ebp
lea edx, [esp + 0x30]
push esi
push edx
call fcn.10073ab0
add esp, 0xc
test eax, eax
je 0x10089459
push 0
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.10073ac0
add esp, 0xc
test eax, eax
je 0x10089459
cmp ebx, 4
mov ecx, dword [esp + 0x1c]
mov eax, ebx
lea edx, [esp + 0x44]
jb 0x100893c5
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100893c9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100893b1
test eax, eax
je 0x10089426
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10089418
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10089426
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10089418
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10089426
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10089418
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10089426
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x10089426
test esi, esi
mov eax, 1
jg 0x10089428
or eax, 0xffffffff
jmp 0x10089428
xor eax, eax
test eax, eax
je 0x10089451
push 0xaa
push str..crypto_rsa_rsa_pss.c
push 0x68
push 0x95
push 4
call fcn.1003ae70
add esp, 0x14
mov dword [esp + 0x10], 0
jmp 0x10089459
mov dword [esp + 0x10], 1
test ebp, ebp
je 0x10089466
push ebp
call fcn.100409f0
add esp, 4
lea eax, [esp + 0x2c]
push eax
call fcn.10073b40
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.1001d3e9
add esp, 0x78
ret