Function at 0x49c700
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x14
mov eax, dword [ecx + 0xb4]
push ebx
mov ebx, dword [esp + 0x1c]
push ebp
push esi
mov esi, dword [ecx + 0xbc]
mov edx, dword [ebx]
mov ebp, dword [ebx + 4]
push edi
mov edi, dword [ebx + 8]
xor eax, edx
mov edx, dword [ecx + 0xb8]
xor edx, ebp
mov ebp, dword [ebx + 0xc]
xor esi, edi
mov edi, dword [ecx + 0xc0]
xor edi, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edi
mov ebx, dword [esp + 0x1d]
and eax, 0xff
and ebx, 0xff
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edx
mov ebp, dword [eax*4 + 0x7cd924]
mov eax, dword [ebx*4 + 0x7ce124]
xor ebp, eax
mov eax, dword [esp + 0x1a]
and eax, 0xff
and edx, 0xff
and esi, 0xff
and edi, 0xff
mov ebx, dword [eax*4 + 0x7ce924]
mov eax, dword [esp + 0x17]
and eax, 0xff
xor ebp, ebx
mov ebx, dword [eax*4 + 0x7cf124]
mov eax, dword [esp + 0x2c]
xor ebp, ebx
mov ebx, dword [esp + 0x11]
and ebx, 0xff
mov dword [eax], ebp
mov edx, dword [edx*4 + 0x7cd924]
mov ebp, dword [ebx*4 + 0x7ce124]
mov ebx, dword [esp + 0x1e]
and ebx, 0xff
xor edx, ebp
mov ebp, dword [ebx*4 + 0x7ce924]
mov ebx, dword [esp + 0x1b]
and ebx, 0xff
xor edx, ebp
xor edx, dword [ebx*4 + 0x7cf124]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x15]
mov esi, dword [esi*4 + 0x7cd924]
and edx, 0xff
mov ebx, dword [edx*4 + 0x7ce124]
mov edx, dword [esp + 0x12]
and edx, 0xff
xor esi, ebx
mov ebx, dword [edx*4 + 0x7ce924]
mov edx, dword [esp + 0x1f]
and edx, 0xff
xor esi, ebx
mov ebx, dword [edx*4 + 0x7cf124]
mov edx, dword [esp + 0x19]
xor esi, ebx
and edx, 0xff
mov dword [eax + 8], esi
mov esi, dword [edi*4 + 0x7cd924]
mov ebx, dword [edx*4 + 0x7ce124]
mov edx, dword [esp + 0x16]
and edx, 0xff
xor esi, ebx
mov ebp, dword [edx*4 + 0x7ce924]
mov edx, dword [esp + 0x13]
and edx, 0xff
xor esi, ebp
xor esi, dword [edx*4 + 0x7cf124]
lea ebx, [ecx + 0xac]
mov dword [eax + 0xc], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 8
mov edx, dword [ebx - 8]
mov ebp, dword [eax]
mov esi, dword [ebx - 4]
mov edi, dword [eax + 4]
xor edx, ebp
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
xor esi, edi
mov edi, dword [eax + 8]
mov dword [esp + 0x10], edx
xor edi, ebp
mov ebp, dword [eax + 0xc]
xor ebx, ebp
and edx, 0xff
mov dword [esp + 0x1c], ebx
mov ebp, dword [esp + 0x1d]
mov edx, dword [edx*4 + 0x7cd924]
and ebp, 0xff
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
xor edx, dword [ebp*4 + 0x7ce124]
mov ebp, dword [esp + 0x1a]
and ebp, 0xff
and esi, 0xff
and edi, 0xff
and ebx, 0xff
xor edx, dword [ebp*4 + 0x7ce924]
mov ebp, dword [esp + 0x17]
and ebp, 0xff
xor edx, dword [ebp*4 + 0x7cf124]
mov dword [eax], edx
mov edx, dword [esp + 0x11]
mov esi, dword [esi*4 + 0x7cd924]
and edx, 0xff
mov ebp, dword [edx*4 + 0x7ce124]
mov edx, dword [esp + 0x1e]
and edx, 0xff
xor esi, ebp
mov ebp, dword [edx*4 + 0x7ce924]
mov edx, dword [esp + 0x1b]
and edx, 0xff
xor esi, ebp
mov ebp, dword [edx*4 + 0x7cf124]
mov edx, dword [esp + 0x15]
xor esi, ebp
and edx, 0xff
mov dword [eax + 4], esi
mov esi, dword [edi*4 + 0x7cd924]
mov edi, dword [edx*4 + 0x7ce124]
mov edx, dword [esp + 0x12]
and edx, 0xff
xor esi, edi
mov edi, dword [edx*4 + 0x7ce924]
mov edx, dword [esp + 0x1f]
and edx, 0xff
xor esi, edi
mov edi, dword [edx*4 + 0x7cf124]
mov edx, dword [esp + 0x19]
xor esi, edi
and edx, 0xff
mov dword [eax + 8], esi
mov esi, dword [ebx*4 + 0x7cd924]
mov ebx, dword [edx*4 + 0x7ce124]
mov edx, dword [esp + 0x16]
and edx, 0xff
xor esi, ebx
mov ebx, dword [esp + 0x28]
mov ebp, dword [edx*4 + 0x7ce924]
mov edx, dword [esp + 0x13]
and edx, 0xff
xor esi, ebp
sub ebx, 0x10
mov edi, dword [edx*4 + 0x7cf124]
mov edx, dword [esp + 0x2c]
xor esi, edi
dec edx
mov dword [eax + 0xc], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edx
jne 0x49c878
mov esi, dword [eax]
mov ebp, dword [ecx + 0x24]
mov edi, dword [ecx + 0x28]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
xor esi, ebp
mov ebp, dword [ecx + 0x2c]
xor edi, ebx
mov ebx, dword [eax + 0xc]
xor ebp, edx
mov edx, dword [ecx + 0x30]
mov dword [esp + 0x10], esi
and esi, 0xff
xor edx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ebp
mov bl, byte [esi + 0x7cc824]
mov esi, dword [esp + 0x1d]
and esi, 0xff
mov byte [eax], bl
mov dword [esp + 0x14], edi
and edi, 0xff
mov bl, byte [esi + 0x7cc824]
mov esi, dword [esp + 0x1a]
and esi, 0xff
mov byte [eax + 1], bl
and ebp, 0xff
and edx, 0xff
mov bl, byte [esi + 0x7cc824]
mov esi, dword [esp + 0x17]
and esi, 0xff
mov byte [eax + 2], bl
mov bl, byte [esi + 0x7cc824]
mov esi, dword [esp + 0x11]
mov byte [eax + 3], bl
mov bl, byte [edi + 0x7cc824]
and esi, 0xff
mov byte [eax + 4], bl
mov bl, byte [esi + 0x7cc824]
mov esi, dword [esp + 0x1e]
and esi, 0xff
mov byte [eax + 5], bl
mov bl, byte [esi + 0x7cc824]
mov esi, dword [esp + 0x1b]
and esi, 0xff
mov byte [eax + 6], bl
mov bl, byte [esi + 0x7cc824]
mov esi, dword [esp + 0x15]
mov byte [eax + 7], bl
mov bl, byte [ebp + 0x7cc824]
and esi, 0xff
mov byte [eax + 8], bl
mov bl, byte [esi + 0x7cc824]
mov esi, dword [esp + 0x12]
and esi, 0xff
mov byte [eax + 9], bl
mov bl, byte [esi + 0x7cc824]
mov esi, dword [esp + 0x1f]
and esi, 0xff
mov byte [eax + 0xa], bl
mov bl, byte [esi + 0x7cc824]
mov byte [eax + 0xb], bl
mov dl, byte [edx + 0x7cc824]
mov byte [eax + 0xc], dl
mov edx, dword [esp + 0x19]
and edx, 0xff
mov ebx, dword [eax]
mov dl, byte [edx + 0x7cc824]
mov byte [eax + 0xd], dl
mov edx, dword [esp + 0x16]
and edx, 0xff
mov dl, byte [edx + 0x7cc824]
mov byte [eax + 0xe], dl
mov edx, dword [esp + 0x13]
and edx, 0xff
mov dl, byte [edx + 0x7cc824]
mov byte [eax + 0xf], dl
mov edx, dword [ecx + 0x14]
xor ebx, edx
mov dword [eax], ebx
mov edx, dword [ecx + 0x18]
mov edi, dword [eax + 4]
mov esi, dword [eax + 8]
xor edi, edx
mov dword [eax + 4], edi
mov edx, dword [ecx + 0x1c]
xor esi, edx
mov edx, dword [eax + 0xc]
mov dword [eax + 8], esi
mov ecx, dword [ecx + 0x20]
pop edi
xor edx, ecx
pop esi
pop ebp
mov dword [eax + 0xc], edx
pop ebx
add esp, 0x14
ret 8