Function at 0x457b38
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 8]
mov ecx, 0x10
call fcn.00402978
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
sub eax, 2
test eax, eax
jl 0x457ccf
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x64]
lea edx, [ebp - 0x34]
mov dword [edx], eax
lea eax, [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x68]
lea edx, [ebp - 0x30]
mov dword [edx], eax
lea eax, [ebp - 0x50]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x6c]
lea edx, [ebp - 0x2c]
mov dword [edx], eax
lea eax, [ebp - 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x70]
lea edx, [ebp - 0x28]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x34]
lea eax, [eax*4 + 0x4805fc]
mov eax, dword [eax]
xor edx, edx
mov dl, byte [ebp - 0x2f]
lea edx, [edx*4 + 0x4809fc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x2a]
lea edx, [edx*4 + 0x480dfc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x25]
lea edx, [edx*4 + 0x4811fc]
xor eax, dword [edx]
lea edx, [ebp - 0x58]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x30]
lea eax, [eax*4 + 0x4805fc]
mov eax, dword [eax]
xor edx, edx
mov dl, byte [ebp - 0x2b]
lea edx, [edx*4 + 0x4809fc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x26]
lea edx, [edx*4 + 0x480dfc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x31]
lea edx, [edx*4 + 0x4811fc]
xor eax, dword [edx]
lea edx, [ebp - 0x54]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x2c]
lea eax, [eax*4 + 0x4805fc]
mov eax, dword [eax]
xor edx, edx
mov dl, byte [ebp - 0x27]
lea edx, [edx*4 + 0x4809fc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x32]
lea edx, [edx*4 + 0x480dfc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x2d]
lea edx, [edx*4 + 0x4811fc]
xor eax, dword [edx]
lea edx, [ebp - 0x50]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x28]
lea eax, [eax*4 + 0x4805fc]
mov eax, dword [eax]
xor edx, edx
mov dl, byte [ebp - 0x33]
lea edx, [edx*4 + 0x4809fc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x2e]
lea edx, [edx*4 + 0x480dfc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x29]
lea edx, [edx*4 + 0x4811fc]
xor eax, dword [edx]
lea edx, [ebp - 0x4c]
mov dword [edx], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x14]
jne 0x457b73
lea eax, [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x44]
lea edx, [ebp - 0x34]
mov dword [edx], eax
lea eax, [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x48]
lea edx, [ebp - 0x30]
mov dword [edx], eax
lea eax, [ebp - 0x50]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x4c]
lea edx, [ebp - 0x2c]
mov dword [edx], eax
lea eax, [ebp - 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x50]
lea edx, [ebp - 0x28]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x34]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x58], al
xor eax, eax
mov al, byte [ebp - 0x2f]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x57], al
xor eax, eax
mov al, byte [ebp - 0x2a]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x56], al
xor eax, eax
mov al, byte [ebp - 0x25]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x55], al
xor eax, eax
mov al, byte [ebp - 0x30]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x54], al
xor eax, eax
mov al, byte [ebp - 0x2b]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x53], al
xor eax, eax
mov al, byte [ebp - 0x26]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x52], al
xor eax, eax
mov al, byte [ebp - 0x31]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x51], al
xor eax, eax
mov al, byte [ebp - 0x2c]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x50], al
xor eax, eax
mov al, byte [ebp - 0x27]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x4f], al
xor eax, eax
mov al, byte [ebp - 0x32]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x4e], al
xor eax, eax
mov al, byte [ebp - 0x2d]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x4d], al
xor eax, eax
mov al, byte [ebp - 0x28]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x4c], al
xor eax, eax
mov al, byte [ebp - 0x33]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x4b], al
xor eax, eax
mov al, byte [ebp - 0x2e]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x4a], al
xor eax, eax
mov al, byte [ebp - 0x29]
mov al, byte [eax*4 + 0x4805fd]
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
shl eax, 2
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*8 + 0x64]
lea edx, [ebp - 0x58]
xor dword [edx], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
shl eax, 2
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*8 + 0x68]
lea edx, [ebp - 0x54]
xor dword [edx], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
shl eax, 2
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*8 + 0x6c]
lea edx, [ebp - 0x50]
xor dword [edx], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
shl eax, 2
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*8 + 0x70]
lea edx, [ebp - 0x4c]
xor dword [edx], eax
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x58]
mov ecx, 0x10
call fcn.00402978
mov esp, ebp
pop ebp
ret