Function at 0x1005cf60
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x9c
call fcn.10079f60
mov eax, dword [0x100ce750]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xb4]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xbc]
xor ebx, ebx
mov dword [esp + 0x1c], eax
or ebp, 0xffffffff
mov eax, dword [esp + 0xb4]
push edi
mov dword [esp + 0x10], eax
xor edi, edi
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], 0
cmp dword [esp + 0xb4], ebx
jle 0x1005d295
test eax, eax
jle 0x1005d295
cmp esi, eax
jl 0x1005d231
cmp esi, 0x2a
jl 0x1005d231
push 0x75
lea ebx, [esi - 0x15]
push str..crypto_rsa_rsa_oaep.c
push ebx
call fcn.10022ee0
push 0x76
push str..crypto_rsa_rsa_oaep.c
push esi
mov edi, eax
call fcn.10022ee0
add esp, 0x18
mov dword [esp + 0x14], eax
test edi, edi
je 0x1005d27d
test eax, eax
je 0x1005d27d
push esi
mov ebp, eax
push 0
push ebp
call fcn.10078750
mov eax, dword [esp + 0x24]
sub esi, eax
push eax
push dword [esp + 0x20]
add esi, ebp
push esi
call fcn.10078a50
movzx eax, byte [ebp]
lea esi, [ebp + 1]
push ebx
add ebp, 0x15
push ebp
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
lea eax, [esp + 0x48]
neg ecx
push 0x14
push eax
mov dword [esp + 0x38], ecx
call fcn.1005cb80
lea eax, [esi + 0x13]
add esp, 0x28
lea ecx, [esp + 0x28]
xor edx, edx
cmp ecx, eax
ja 0x1005d080
lea eax, [esp + 0x3b]
cmp eax, esi
jae 0x1005d099
jmp 0x1005d080
movdqu xmm1, xmmword [esi]
mov edx, 0x10
movdqu xmm0, xmmword [esp + 0x28]
pxor xmm1, xmm0
movdqu xmmword [esp + 0x28], xmm1
lea eax, [esp + 0x28]
sub esi, eax
nop
lea ecx, [esp + 0x28]
add ecx, edx
inc edx
mov al, byte [esi + ecx]
xor byte [ecx], al
cmp edx, 0x14
jl 0x1005d0a0
call fcn.1002a8d0
push eax
push 0x14
lea eax, [esp + 0x30]
push eax
push ebx
push edi
call fcn.1005cba0
add esp, 0x14
xor esi, esi
test ebx, ebx
jle 0x1005d14c
cmp ebx, 0x20
jb 0x1005d132
lea eax, [ebp - 1]
lea ecx, [ebx - 1]
add eax, ebx
add ecx, edi
cmp edi, eax
ja 0x1005d0e9
cmp ecx, ebp
jae 0x1005d132
mov eax, ebx
and eax, 0x8000001f
jns 0x1005d0f7
dec eax
or eax, 0xffffffe0
inc eax
mov ecx, ebx
mov edx, ebp
sub ecx, eax
mov eax, edi
sub edx, edi
movdqu xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movdqu xmm1, xmmword [edx + eax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [eax - 0x20], xmm1
movdqu xmm1, xmmword [esi + ebp + 0x10]
add esi, 0x20
movdqu xmm0, xmmword [eax - 0x10]
pxor xmm1, xmm0
movdqu xmmword [eax - 0x10], xmm1
cmp esi, ecx
jl 0x1005d101
cmp esi, ebx
jge 0x1005d14c
mov edx, ebx
lea ecx, [esi + edi]
sub ebp, edi
sub edx, esi
nop
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
dec edx
jne 0x1005d140
push 0
call fcn.1002a8d0
push eax
push 0
lea eax, [esp + 0x74]
push eax
push dword [esp + 0xd8]
push dword [esp + 0x38]
call fcn.10031640
push 0x14
lea eax, [esp + 0x84]
push eax
push edi
call fcn.10022980
mov edx, dword [esp + 0x34]
mov ebp, 0x14
add esp, 0x24
lea ecx, [eax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and edx, ecx
xor ecx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
cmp ebx, ebp
jle 0x1005d1fc
movzx esi, byte [edi + ebp]
not ecx
mov eax, esi
xor eax, 1
lea edx, [eax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
mov eax, ecx
and ecx, ebp
not eax
inc ebp
and eax, dword [esp + 0x1c]
or eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
or ecx, edx
mov edx, dword [esp + 0x10]
lea eax, [esi - 1]
shr eax, 0x1f
not esi
shr esi, 0x1f
and eax, esi
mov dword [esp + 0x18], ecx
neg eax
or eax, ecx
and edx, eax
mov dword [esp + 0x10], edx
cmp ebp, ebx
jl 0x1005d1a6
test edx, ecx
je 0x1005d22a
mov eax, dword [esp + 0x1c]
mov ebp, ebx
inc eax
sub ebp, eax
cmp dword [esp + 0xb4], ebp
jge 0x1005d267
push 0xb9
push str..crypto_rsa_rsa_oaep.c
push 0x6d
push 0x7a
push 4
call fcn.100265e0
add esp, 0x14
mov ebx, dword [esp + 0x14]
or ebp, 0xffffffff
push 0xc5
push str..crypto_rsa_rsa_oaep.c
push 0x79
push 0x7a
push 4
call fcn.100265e0
add esp, 0x14
test edi, edi
je 0x1005d256
push edi
call fcn.10022e60
add esp, 4
test ebx, ebx
je 0x1005d263
push ebx
call fcn.10022e60
add esp, 4
mov eax, ebp
jmp 0x1005d298
push ebp
add eax, edi
push eax
push dword [esp + 0x28]
call fcn.10078a50
mov ebx, dword [esp + 0x20]
add esp, 0xc
jmp 0x1005d249
push 0x78
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x7a
push 4
call fcn.100265e0
mov ebx, dword [esp + 0x28]
jmp 0x1005d246
or eax, 0xffffffff
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1007ba40
add esp, 0x9c
ret