Function at 0x492b70
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [esp + 0xc]
sub esp, 0x118
mov eax, ecx
sub eax, 0x80
push edi
je 0x492bb9
sub eax, 0x40
je 0x492baa
sub eax, 0x40
je 0x492b9b
mov eax, 0xffffffe0
pop edi
add esp, 0x118
ret
mov edi, dword [esp + 0x120]
mov dword [edi], 0xe
jmp 0x492bc6
mov edi, dword [esp + 0x120]
mov dword [edi], 0xc
jmp 0x492bc6
mov edi, dword [esp + 0x120]
mov dword [edi], 0xa
mov eax, dword [esp + 0x124]
push esi
push ecx
push eax
lea ecx, [esp + 0x10]
lea esi, [edi + 8]
push ecx
mov dword [edi + 4], esi
call fcn.004925e0
add esp, 0xc
test eax, eax
jne 0x492dbe
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
shl eax, 4
add eax, edx
mov edx, dword [eax]
mov dword [esi], edx
mov ecx, dword [eax + 4]
add eax, 4
mov dword [esi + 4], ecx
mov edx, dword [eax + 4]
add esi, 4
add eax, 4
add esi, 4
mov dword [esi], edx
mov ecx, dword [eax + 4]
add eax, 4
add esi, 4
mov dword [esi], ecx
mov ecx, dword [edi]
add esi, 4
dec ecx
sub eax, 0x1c
test ecx, ecx
jle 0x492d9c
push ebx
movzx edi, byte [eax + 2]
movzx edi, byte [edi + 0x1004b038]
mov ebx, dword [edi*4 + 0x1004b538]
movzx edx, byte [eax + 3]
movzx edx, byte [edx + 0x1004b038]
mov edx, dword [edx*4 + 0x1004b138]
movzx edi, byte [eax + 1]
movzx edi, byte [edi + 0x1004b038]
xor edx, ebx
mov ebx, dword [edi*4 + 0x1004b960]
mov edi, dword [eax]
xor edx, ebx
and edi, 0xff
movzx edi, byte [edi + 0x1004b038]
xor edx, dword [edi*4 + 0x1004bd60]
mov dword [esi], edx
movzx edi, byte [eax + 6]
movzx edi, byte [edi + 0x1004b038]
mov ebx, dword [edi*4 + 0x1004b538]
movzx edx, byte [eax + 7]
movzx edx, byte [edx + 0x1004b038]
mov edx, dword [edx*4 + 0x1004b138]
movzx edi, byte [eax + 5]
movzx edi, byte [edi + 0x1004b038]
add eax, 4
xor edx, ebx
mov ebx, dword [edi*4 + 0x1004b960]
mov edi, dword [eax]
xor edx, ebx
and edi, 0xff
movzx edi, byte [edi + 0x1004b038]
xor edx, dword [edi*4 + 0x1004bd60]
mov dword [esi + 4], edx
movzx edi, byte [eax + 6]
movzx edi, byte [edi + 0x1004b038]
mov ebx, dword [edi*4 + 0x1004b538]
movzx edx, byte [eax + 7]
movzx edx, byte [edx + 0x1004b038]
mov edx, dword [edx*4 + 0x1004b138]
movzx edi, byte [eax + 5]
movzx edi, byte [edi + 0x1004b038]
add eax, 4
add esi, 4
xor edx, ebx
mov ebx, dword [edi*4 + 0x1004b960]
mov edi, dword [eax]
and edi, 0xff
movzx edi, byte [edi + 0x1004b038]
xor edx, ebx
xor edx, dword [edi*4 + 0x1004bd60]
mov dword [esi + 4], edx
movzx edi, byte [eax + 6]
movzx edi, byte [edi + 0x1004b038]
mov ebx, dword [edi*4 + 0x1004b538]
movzx edx, byte [eax + 7]
movzx edx, byte [edx + 0x1004b038]
movzx edi, byte [eax + 5]
movzx edi, byte [edi + 0x1004b038]
mov edx, dword [edx*4 + 0x1004b138]
add eax, 4
add esi, 4
xor edx, ebx
mov ebx, dword [edi*4 + 0x1004b960]
mov edi, dword [eax]
and edi, 0xff
movzx edi, byte [edi + 0x1004b038]
xor edx, ebx
mov ebx, dword [edi*4 + 0x1004bd60]
add esi, 4
xor edx, ebx
mov dword [esi], edx
add esi, 4
add eax, 0xffffffe4
dec ecx
jne 0x492c30
pop ebx
mov ecx, dword [eax]
mov dword [esi], ecx
mov edx, dword [eax + 4]
add eax, 4
add esi, 4
mov dword [esi], edx
mov ecx, dword [eax + 4]
add eax, 4
add esi, 4
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
xor eax, eax
pop esi
pop edi
add esp, 0x118
ret