Function at 0x54cd00
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push esi
push edi
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push eax
push edx
call fcn.0054b980
add esp, 8
mov eax, 0xe0
mov esi, dword [esp + 0x18]
lea edi, [esi + eax]
add esi, 0x40
mov edx, dword [esi - 0x30]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0x30], eax
mov edx, dword [esi - 0x2c]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0x2c], eax
mov edx, dword [esi - 0x28]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0x28], eax
mov edx, dword [esi - 0x24]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0x24], eax
mov edx, dword [esi - 0x20]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0x20], eax
mov edx, dword [esi - 0x1c]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0x1c], eax
mov edx, dword [esi - 0x18]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0x18], eax
mov edx, dword [esi - 0x14]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0x14], eax
mov edx, dword [esi - 0x10]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0x10], eax
mov edx, dword [esi - 0xc]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 0xc], eax
mov edx, dword [esi - 8]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 8], eax
mov edx, dword [esi - 4]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi - 4], eax
mov edx, dword [esi]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi], eax
xor eax, dword [esi - 0x1c]
mov dword [esi + 4], eax
xor eax, dword [esi - 0x18]
mov dword [esi + 8], eax
xor eax, dword [esi - 0x14]
mov dword [esi + 0xc], eax
mov edx, dword [esi + 0x10]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
mov eax, dword [ebx*8 + 0x637800]
movzx ebx, dh
shr edx, 0x10
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637803]
movzx ebx, dl
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637802]
movzx ebx, dh
movzx ebx, byte [ebx*8 + 0x637001]
xor eax, dword [ebx*8 + 0x637801]
mov dword [esi + 0x10], eax
xor eax, dword [esi - 0xc]
mov dword [esi + 0x14], eax
xor eax, dword [esi - 8]
mov dword [esi + 0x18], eax
xor eax, dword [esi - 4]
mov dword [esi + 0x1c], eax
add esi, 0x20
cmp edi, esi
jg 0x54d0f1