Function at 0x567780
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff94
xor eax, eax
xor edx, edx
lea ecx, [ebp - 0x2c]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], edx
push ecx
call fcn.00585f38
pop ecx
test ebx, ebx
jne 0x5677ad
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
push eax
call fcn.00589a0c
pop ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jl 0x567a7c
cmp dword [ebp + 0x1c], 0xffffffff
jne 0x5677d2
mov edx, dword [ebp - 8]
mov dword [ebp + 0x1c], edx
jmp 0x567807
cmp dword [ebp + 0x1c], 0xfffffffe
jne 0x5677e1
mov dword [ebp + 0x1c], 0xfffffffe
jmp 0x567807
cmp dword [ebp + 0x1c], 0xfffffffe
jge 0x567807
push 0x6c
push 0x622a28
push 0x88
push 0x95
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567a7c
mov ecx, dword [esi + 0x10]
push ecx
call fcn.0055750c
pop ecx
dec eax
and eax, 7
mov dword [ebp - 0xc], eax
push esi
call fcn.00569cd4
pop ecx
mov ecx, dword [ebp - 0xc]
mov edx, 0xff
shl edx, cl
xor ecx, ecx
mov cl, byte [edi]
and edx, ecx
je 0x567851
push 0x74
push 0x622a3f
push 0x85
push 0x95
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567a7c
cmp dword [ebp - 0xc], 0
jne 0x567859
inc edi
dec eax
mov edx, dword [ebp - 8]
add edx, dword [ebp + 0x1c]
add edx, 2
cmp eax, edx
jge 0x567883
push 0x7e
push 0x622a56
push 0x6d
push 0x95
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567a7c
cmp byte [edi + eax - 1], 0xbc
je 0x5678ad
push 0x83
push 0x622a6d
push 0x86
push 0x95
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567a7c
mov esi, eax
sub esi, dword [ebp - 8]
dec esi
lea eax, [esi + edi]
mov dword [ebp - 0x10], eax
push 0x88
push 0x622a84
push esi
call fcn.00548a98
add esp, 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x5678f5
push 0x8b
push 0x622a9b
push 0x41
push 0x95
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567a7c
push ebx
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
push esi
mov eax, dword [ebp - 0x14]
push eax
call fcn.00567614
add esp, 0x14
test eax, eax
jl 0x567a7c
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov edx, eax
mov eax, edi
cmp esi, ebx
jle 0x56792b
mov cl, byte [eax]
xor byte [edx], cl
inc ebx
inc edx
inc eax
cmp esi, ebx
jg 0x567920
cmp dword [ebp - 0xc], 0
je 0x567945
mov ecx, 8
sub ecx, dword [ebp - 0xc]
mov eax, 0xff
sar eax, cl
mov edx, dword [ebp - 0x14]
and byte [edx], al
xor ebx, ebx
mov eax, dword [ebp - 0x14]
jmp 0x56794e
inc ebx
inc eax
cmp byte [eax], 0
jne 0x56795a
lea edx, [esi - 1]
cmp ebx, edx
jl 0x56794c
mov ecx, ebx
inc ebx
mov eax, dword [ebp - 0x14]
cmp byte [eax + ecx], 1
je 0x567989
push 0x97
push 0x622ab2
push 0x87
push 0x95
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567a7c
cmp dword [ebp + 0x1c], 0
jl 0x5679bb
mov edx, esi
sub edx, ebx
cmp edx, dword [ebp + 0x1c]
je 0x5679bb
push 0x9c
push 0x622ac9
push 0x88
push 0x95
push 4
call fcn.005833b4
add esp, 0x14
jmp 0x567a7c
push 0
mov ecx, dword [ebp + 0x10]
push ecx
lea eax, [ebp - 0x2c]
push eax
call fcn.00585f98
add esp, 0xc
test eax, eax
je 0x567a7c
push 8
push 0x622a20
lea edx, [ebp - 0x2c]
push edx
call fcn.00586150
add esp, 0xc
test eax, eax
je 0x567a7c
mov ecx, dword [ebp - 8]
push ecx
mov eax, dword [ebp + 0xc]
push eax
lea edx, [ebp - 0x2c]
push edx
call fcn.00586150
add esp, 0xc
test eax, eax
je 0x567a7c
mov eax, esi
sub eax, ebx
test eax, eax
je 0x567a25
push eax
add ebx, dword [ebp - 0x14]
push ebx
lea edx, [ebp - 0x2c]
push edx
call fcn.00586150
add esp, 0xc
test eax, eax
je 0x567a7c
push 0
lea ecx, [ebp - 0x6c]
push ecx
lea eax, [ebp - 0x2c]
push eax
call fcn.00586190
add esp, 0xc
test eax, eax
je 0x567a7c
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 0x10]
push ecx
lea eax, [ebp - 0x6c]
push eax
call fcn.0050a858
add esp, 0xc
test eax, eax
je 0x567a75
push 0xac
push 0x622ae0
push 0x68
push 0x95
push 4
call fcn.005833b4
add esp, 0x14
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x567a7c
mov dword [ebp - 4], 1
cmp dword [ebp - 0x14], 0
je 0x567a8c
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00548cb4
pop ecx
lea eax, [ebp - 0x2c]
push eax
call fcn.00586408
pop ecx
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret