Function at 0x5606b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xcc
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0xe4]
test edi, edi
jle 0x560b50
mov ebx, dword [esp + 0xec]
test ebx, ebx
jle 0x560b50
cmp dword [esp + 0xec], esi
jg 0x5606ed
cmp esi, 0x29
jg 0x560760
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x10], 0xcb
mov dword [esp + 0xc], str.rsa_oaep.c
mov dword [esp + 8], 0x79
mov dword [esp + 4], 0x7a
mov dword [esp], 4
call fcn.004b2280
mov eax, 0xffffffff
test ebp, ebp
je 0x560736
mov dword [esp], ebp
mov dword [esp + 0x2c], eax
call fcn.004b8660
mov eax, dword [esp + 0x2c]
test ebx, ebx
je 0x56074a
mov dword [esp], ebx
mov dword [esp + 0x2c], eax
call fcn.004b8660
mov eax, dword [esp + 0x2c]
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
lea edx, [esi - 0x15]
mov dword [esp + 0x34], edx
mov dword [esp + 8], 0x79
mov dword [esp + 4], str.rsa_oaep.c
mov dword [esp], edx
call fcn.004b8170
mov ebp, eax
mov dword [esp + 8], 0x7a
mov dword [esp + 4], str.rsa_oaep.c
mov dword [esp], esi
call fcn.004b8170
mov ebx, eax
test ebp, ebp
je 0x560a70
test eax, eax
je 0x560a70
mov edx, esi
mov edi, eax
cmp esi, 4
jae 0x560ad0
test dl, 2
je 0x5607c5
mov word [edi], 0
add edi, 2
and edx, 1
je 0x5607cd
mov byte [edi], 0
sub esi, dword [esp + 0xec]
mov eax, dword [esp + 0xec]
lea edi, [ebx + esi]
mov esi, dword [esp + 0xe8]
cmp eax, 4
jae 0x560ab0
xor edx, edx
test al, 2
je 0x5607ff
mov dx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0x560809
mov al, byte [esi + edx]
mov byte [edi + edx], al
mov dl, byte [ebx]
mov byte [esp + 0x38], dl
lea edi, [ebx + 0x15]
call fcn.004c86b0
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], 0x14
lea esi, [esp + 0x40]
mov dword [esp], esi
call fcn.00560110
test eax, eax
jne 0x560a60
lea ecx, [ebx + 1]
lea eax, [ebx + 5]
cmp esi, eax
setae dl
lea eax, [esp + 0x44]
cmp ecx, eax
setae al
or dl, al
je 0x560af0
and ecx, 3
jne 0x560af0
mov eax, dword [ebx + 1]
xor dword [esp + 0x40], eax
mov eax, dword [ebx + 5]
xor dword [esp + 0x44], eax
mov eax, dword [ebx + 9]
xor dword [esp + 0x48], eax
mov eax, dword [ebx + 0xd]
xor dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x11]
xor dword [esp + 0x50], eax
call fcn.004c86b0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], esi
mov edx, dword [esp + 0x34]
mov dword [esp + 4], edx
mov dword [esp], ebp
call fcn.00560110
test eax, eax
jne 0x560a60
mov eax, dword [esp + 0x34]
shr eax, 2
lea esi, [eax*4]
lea edx, [ebx + 0x19]
cmp ebp, edx
setae cl
lea edx, [ebp + 4]
cmp edi, edx
setae dl
or ecx, edx
or edi, ebp
and edi, 3
sete dl
test cl, dl
je 0x560bc7
test esi, esi
je 0x560bc7
xor edx, edx
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [ebp + edx*4]
xor ecx, dword [ebx + edx*4 + 0x15]
mov dword [ebp + edx*4], ecx
inc edx
cmp eax, edx
ja 0x560900
cmp esi, dword [esp + 0x34]
je 0x56092d
mov eax, dword [esp + 0x34]
nop
lea esi, [esi]
mov dl, byte [ebx + esi + 0x15]
xor byte [ebp + esi], dl
inc esi
cmp eax, esi
jg 0x560920
mov dl, byte [esp + 0x38]
and edx, 0xff
mov esi, edx
call fcn.004c86b0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
lea edi, [esp + 0x80]
mov dword [esp + 8], edi
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.004d1bc0
mov dword [esp + 8], 0x14
mov dword [esp + 4], edi
mov dword [esp], ebp
call fcn.004d2fc0
lea edx, [eax - 1]
not eax
and edx, eax
lea eax, [esi - 1]
not esi
and eax, esi
and eax, edx
cdq
mov dword [esp + 0x30], edx
xor edi, edi
xor esi, esi
mov eax, 0x14
mov dword [esp + 0x3c], ebx
lea esi, [esi]
mov dl, byte [ebp + eax]
mov cl, dl
xor ecx, 1
and ecx, 0xff
lea ebx, [ecx - 1]
not ecx
and ebx, ecx
sar ebx, 0x1f
mov dword [esp + 0x28], ebx
xor ecx, ecx
mov cl, dl
mov edx, edi
not edx
and edx, ebx
mov ebx, edx
not ebx
and esi, ebx
and edx, eax
or esi, edx
or edi, dword [esp + 0x28]
lea ebx, [ecx - 1]
not ecx
and ebx, ecx
sar ebx, 0x1f
or ebx, edi
and dword [esp + 0x30], ebx
inc eax
cmp dword [esp + 0x34], eax
jne 0x5609b0
mov ebx, dword [esp + 0x3c]
test dword [esp + 0x30], edi
je 0x5606f1
lea ecx, [esi + 1]
mov eax, dword [esp + 0x34]
sub eax, ecx
cmp dword [esp + 0xe4], eax
jge 0x560b5a
mov dword [esp + 0x10], 0xbf
mov dword [esp + 0xc], str.rsa_oaep.c
mov dword [esp + 8], 0x6d
mov dword [esp + 4], 0x7a
mov dword [esp], 4
call fcn.004b2280
jmp 0x5606f1
mov eax, 0xffffffff
jmp 0x560726
mov dword [esp + 0x10], 0x7d
mov dword [esp + 0xc], str.rsa_oaep.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7a
mov dword [esp], 4
call fcn.004b2280
jmp 0x56071d
test edi, 1
jne 0x560b3b
test edi, 2
jne 0x560b2a
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
jmp 0x5607ee
test al, 1
jne 0x560b1f
test edi, 2
jne 0x560b12
mov ecx, edx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
jmp 0x5607b8
xor eax, eax
lea esi, [esi]
lea edi, [edi]
mov dl, byte [ebx + eax + 1]
xor byte [esi + eax], dl
inc eax
cmp eax, 0x14
jne 0x560b00
jmp 0x56088b
mov word [edi], 0
add edi, 2
sub edx, 2
jmp 0x560adc
mov byte [eax], 0
lea edi, [eax + 1]
lea edx, [esi - 1]
jmp 0x560ad4
mov dx, word [esi]
mov word [edi], dx
add edi, 2
add esi, 2
sub eax, 2
jmp 0x560ac4
mov dl, byte [esi]
mov byte [edi], dl
inc edi
inc esi
dec eax
jmp 0x560abc
mov eax, 0xffffffff
jmp 0x56074a
mov edx, eax
mov edi, dword [esp + 0xe0]
lea esi, [ebp + ecx]
cmp eax, 4
jae 0x560b92
xor ecx, ecx
test dl, 2
je 0x560b7e
mov cx, word [esi]
mov word [edi], cx
mov ecx, 2
and edx, 1
je 0x560726
mov dl, byte [esi + ecx]
mov byte [edi + ecx], dl
jmp 0x560726
test edi, 1
jne 0x560bab
test edi, 2
jne 0x560bb6
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
jmp 0x560b6c
mov dl, byte [esi]
mov byte [edi], dl
inc edi
inc esi
lea edx, [eax - 1]
jmp 0x560b9a
mov cx, word [esi]
mov word [edi], cx
add edi, 2
add esi, 2
sub edx, 2
jmp 0x560ba2
xor esi, esi
mov eax, dword [esp + 0x34]
jmp 0x560920