Function at 0x5684f4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x9c
mov esi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00502a80
mov ebx, eax
test eax, eax
js 0x5685b8
cmp dword [ebp + 0x18], 0xffffffff
je 0x56867c
cmp dword [ebp + 0x18], 0xfffffffe
je 0x56852e
jl 0x568604
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
mov dword [esp], eax
call fcn.00508d04
lea edi, [eax - 1]
and edi, 7
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
call fcn.004ebde0
mov edx, 0xff
mov ecx, edi
shl edx, cl
movzx ecx, byte [esi]
test edx, ecx
jne 0x5685c8
test edi, edi
jne 0x568563
inc esi
dec eax
mov ecx, dword [ebp + 0x18]
lea edx, [ebx + ecx + 1]
cmp eax, edx
jle 0x568640
cmp byte [esi + eax - 1], 0xbc
je 0x568684
mov dword [esp + 0x10], 0x78
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x86
mov dword [esp + 4], 0x7e
mov dword [esp], 4
call fcn.004f2144
xor eax, eax
add esp, 0x9c
pop ebx
pop esi
pop edi
leave
ret
xor eax, eax
add esp, 0x9c
pop ebx
pop esi
pop edi
leave
ret
mov dword [esp + 0x10], 0x69
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x85
mov dword [esp + 4], 0x7e
mov dword [esp], 4
call fcn.004f2144
xor eax, eax
add esp, 0x9c
pop ebx
pop esi
pop edi
leave
ret
mov dword [esp + 0x10], 0x61
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x88
mov dword [esp + 4], 0x7e
mov dword [esp], 4
call fcn.004f2144
xor eax, eax
add esp, 0x9c
pop ebx
pop esi
pop edi
leave
ret
mov dword [esp + 0x10], 0x73
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x6d
mov dword [esp + 4], 0x7e
mov dword [esp], 4
call fcn.004f2144
xor eax, eax
add esp, 0x9c
pop ebx
pop esi
pop edi
leave
ret
mov dword [ebp + 0x18], eax
jmp 0x56852e
mov edx, ebx
not edx
add edx, eax
mov dword [ebp - 0x7c], edx
mov dword [esp + 8], 0x7d
mov dword [esp + 4], str.crypto_rsa_rsa_pss.c
mov dword [esp], edx
call fcn.004f28b0
mov edx, eax
test eax, eax
je 0x5688a4
mov eax, dword [ebp - 0x7c]
add eax, esi
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [ebp - 0x84], edx
call fcn.005580c0
test eax, eax
mov edx, dword [ebp - 0x84]
js 0x5687e4
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
jle 0x568700
xor eax, eax
nop
mov cl, byte [esi + eax]
xor byte [edx + eax], cl
inc eax
cmp eax, dword [ebp - 0x7c]
jne 0x5686f4
test edi, edi
jne 0x5687ac
mov cl, byte [edx]
test cl, cl
jne 0x568910
mov esi, dword [ebp - 0x7c]
dec esi
test esi, esi
jle 0x5687c8
xor eax, eax
jmp 0x56872c
cmp eax, esi
jge 0x5687c8
inc eax
mov cl, byte [edx + eax]
test cl, cl
je 0x568724
lea esi, [eax + 1]
dec cl
jne 0x5687c8
mov eax, dword [ebp + 0x18]
test eax, eax
js 0x5687e8
mov eax, dword [ebp - 0x7c]
sub eax, esi
cmp eax, dword [ebp + 0x18]
je 0x5687e8
mov dword [esp + 0x10], 0x91
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x88
mov dword [esp + 4], 0x7e
mov dword [esp], 4
mov dword [ebp - 0x84], edx
call fcn.004f2144
xor eax, eax
mov edx, dword [ebp - 0x84]
mov dword [esp], edx
mov dword [ebp - 0x84], eax
call fcn.004f2b90
mov eax, dword [ebp - 0x84]
jmp 0x5685ab
mov ecx, 8
sub ecx, edi
mov eax, 0xff
sar eax, cl
mov cl, al
and cl, byte [edx]
mov byte [edx], cl
jmp 0x56870a
mov dword [esp + 0x10], 0x8c
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x87
jmp 0x568770
xor eax, eax
jmp 0x568792
lea edi, [ebp - 0x30]
mov dword [esp], edi
mov dword [ebp - 0x84], edx
call fcn.004fc860
mov dword [esp + 8], 0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.004fc8b0
mov dword [esp + 8], 8
mov dword [esp + 4], 0x6a3079
mov dword [esp], edi
call fcn.004fcb4c
mov dword [esp + 8], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004fcb4c
cmp dword [ebp - 0x7c], esi
mov edx, dword [ebp - 0x84]
je 0x568864
mov eax, dword [ebp - 0x7c]
sub eax, esi
mov dword [esp + 8], eax
lea esi, [edx + esi]
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004fcb4c
mov edx, dword [ebp - 0x84]
mov dword [esp + 8], 0
lea esi, [ebp - 0x70]
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [ebp - 0x84], edx
call fcn.004fcf60
mov dword [esp], edi
call fcn.004fcbe8
cmp ebx, ebx
mov edi, dword [ebp - 0x80]
mov ecx, ebx
repe cmpsb byte [esi], byte es:[edi]
mov edx, dword [ebp - 0x84]
jne 0x5688d7
mov eax, 1
jmp 0x568792
mov dword [esp + 0x10], pe_nt_image_headers32
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7e
mov dword [esp], 4
call fcn.004f2144
xor eax, eax
jmp 0x5685ab
mov dword [esp + 0x10], 0x9e
mov dword [esp + 0xc], str.crypto_rsa_rsa_pss.c
mov dword [esp + 8], 0x68
mov dword [esp + 4], 0x7e
mov dword [esp], 4
call fcn.004f2144
xor eax, eax
mov edx, dword [ebp - 0x84]
jmp 0x568792
mov esi, 1
jmp 0x568737