Function at 0x55c7f4
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
nop
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 0x55c84d
push dword fs:[eax]
mov dword fs:[eax], esp
test edx, edx
je 0x55c843
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7b4]
mov ebx, dword [eax]
call dword [ebx + 0x10]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x55c861
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
push ebp
push 0x55cab5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x7b4]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov eax, ebx
call fcn.004210e8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xe
jl 0x55caab
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 0x55ca9b
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
jl 0x55caab
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 0x55ca01
mov ebx, 0xaacd0c22
xor ebx, 0xffffffff
cmp dword [ebp - 0x18], 8
jl 0x55c9d4
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x582ec8]
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 + 0x582ec8]
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 + 0x582ec8]
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 + 0x582ec8]
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 + 0x582ec8]
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 + 0x582ec8]
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 + 0x582ec8]
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 + 0x582ec8]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
sub dword [ebp - 0x18], 8
cmp dword [ebp - 0x18], 8
jge 0x55c8fe
cmp dword [ebp - 0x18], 0
je 0x55c9fc
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov eax, dword [eax*4 + 0x582ec8]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0
jne 0x55c9da
xor ebx, 0xffffffff
jmp 0x55ca03
xor ebx, ebx
cmp dword [edi + 0xa], 0
jle 0x55ca2d
cmp ebx, dword [edi + 4]
je 0x55ca2d
mov eax, 0x55cb88
call fcn.004948d8
dec dword [ebp - 8]
inc dword [ebp - 0x10]
cmp dword [ebp - 8], 0xe
jl 0x55caab
jmp 0x55c8a4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
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
push eax
mov ecx, dword [ebp - 0x14]
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.0055c5e4
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 0x55caa1
dec dword [ebp - 8]
inc dword [ebp - 0x10]
cmp dword [ebp - 8], 0xe
jge 0x55c8a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x55cac9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
push ebp
push 0x55cb33
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0
jle 0x55cb17
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7b4]
call fcn.00421108
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7b4]
mov ecx, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x10]
jmp 0x55cb29
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7b4]
call fcn.00421108
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x55cb47
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret