Function at 0x563f74
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
push ebp
push 0x563fb8
push dword fs:[eax]
mov dword fs:[eax], esp
test edx, edx
je 0x563fae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x910]
mov ebx, dword [eax]
call dword [ebx + 0x10]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x563fcc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x910]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov eax, ebx
call fcn.00421198
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x56420b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0xe
jl 0x564201
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 0xa]
cdq
xor eax, edx
sub eax, edx
add eax, 0xe
mov dword [ebp - 0xc], eax
cmp dword [edi], 0xaa55aa55
jne 0x5641f1
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
jl 0x564201
mov eax, dword [ebp - 0x10]
add eax, 0xe
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0xa]
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x10]
add esi, 0xe
cmp dword [ebp - 0x18], 0
jle 0x56416e
mov ebx, 0xaacd0c22
xor ebx, 0xffffffff
cmp dword [ebp - 0x18], 8
jl 0x564141
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x58a3cc]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x58a3cc]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x58a3cc]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x58a3cc]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x58a3cc]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x58a3cc]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x58a3cc]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x58a3cc]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
sub dword [ebp - 0x18], 8
cmp dword [ebp - 0x18], 8
jge 0x56406b
cmp dword [ebp - 0x18], 0
je 0x564169
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x58a3cc]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0
jne 0x564147
xor ebx, 0xffffffff
jmp 0x564170
xor ebx, ebx
cmp dword [edi + 0xa], 0
jle 0x564196
cmp ebx, dword [edi + 4]
je 0x564196
mov eax, 0x5642e0
call fcn.00494aa8
dec dword [ebp - 8]
inc dword [ebp - 0x10]
cmp dword [ebp - 8], 0xe
jl 0x564201
jmp 0x564011
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [edi + 0xa]
cdq
xor eax, edx
sub eax, edx
push eax
mov ecx, dword [ebp - 0x14]
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00563d88
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [edi + 0xa]
cdq
xor eax, edx
sub eax, edx
add eax, 0xe
sub dword [ebp - 8], eax
mov eax, dword [edi + 0xa]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebp - 0x10]
add edx, 0xe
add eax, edx
mov dword [ebp - 0x10], eax
jmp 0x5641f7
dec dword [ebp - 8]
inc dword [ebp - 0x10]
cmp dword [ebp - 8], 0xe
jge 0x564011
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56421f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
push ebp
push 0x56428b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0
jle 0x56426f
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x910]
call fcn.004211b8
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x910]
mov ecx, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x10]
jmp 0x564281
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x910]
call fcn.004211b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56429f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret