Function at 0x414240
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x47e4f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, ecx
mov dword [ebp - 0x14], esi
mov dword [esi + 0xc], 0
mov dword [esi + 8], 0xffffffff
test edi, edi
jne 0x414280
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00445a92
mov esp, ebp
pop ebp
ret 8
push ebx
call fcn.00410980
lea ebx, [esi + 0x14]
mov esi, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x10], 3
xor edx, edx
mov eax, ecx
div edi
inc ecx
movzx eax, byte [edx + esi]
mov byte [ebp - 5], al
xor edx, edx
mov eax, ecx
div edi
inc ecx
mov eax, ecx
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 6], dl
xor edx, edx
div edi
movzx eax, byte [edx + esi]
mov byte [ebp - 7], al
xor edx, edx
mov eax, ecx
div edi
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 8], dl
mov eax, dword [ebp - 8]
xor dword [ebx - 4], eax
xor edx, edx
mov eax, ecx
div edi
inc ecx
mov eax, ecx
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 5], dl
xor edx, edx
div edi
movzx eax, byte [edx + esi]
mov byte [ebp - 6], al
xor edx, edx
mov eax, ecx
div edi
inc ecx
mov eax, ecx
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 7], dl
xor edx, edx
div edi
movzx eax, byte [edx + esi]
mov byte [ebp - 8], al
mov edx, dword [ebp - 8]
xor dword [ebx], edx
xor edx, edx
mov eax, ecx
div edi
inc ecx
movzx eax, byte [edx + esi]
mov byte [ebp - 5], al
xor edx, edx
mov eax, ecx
div edi
inc ecx
mov eax, ecx
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 6], dl
xor edx, edx
div edi
movzx eax, byte [edx + esi]
mov byte [ebp - 7], al
xor edx, edx
mov eax, ecx
div edi
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 8], dl
mov eax, dword [ebp - 8]
xor dword [ebx + 4], eax
mov eax, ecx
xor edx, edx
div edi
movzx edx, byte [edx + esi]
mov byte [ebp - 5], dl
xor edx, edx
inc ecx
mov eax, ecx
div edi
inc ecx
add ebx, 0x18
movzx eax, byte [edx + esi]
mov byte [ebp - 6], al
xor edx, edx
mov eax, ecx
div edi
inc ecx
mov eax, ecx
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 7], dl
xor edx, edx
div edi
movzx eax, byte [edx + esi]
mov byte [ebp - 8], al
mov edx, dword [ebp - 8]
xor dword [ebx - 0x10], edx
xor edx, edx
mov eax, ecx
div edi
inc ecx
movzx eax, byte [edx + esi]
mov byte [ebp - 5], al
xor edx, edx
mov eax, ecx
div edi
inc ecx
mov eax, ecx
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 6], dl
xor edx, edx
div edi
movzx eax, byte [edx + esi]
mov byte [ebp - 7], al
xor edx, edx
mov eax, ecx
div edi
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 8], dl
mov eax, dword [ebp - 8]
xor dword [ebx - 0xc], eax
xor edx, edx
mov eax, ecx
div edi
inc ecx
mov eax, ecx
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 5], dl
xor edx, edx
div edi
movzx eax, byte [edx + esi]
mov byte [ebp - 6], al
xor edx, edx
mov eax, ecx
div edi
inc ecx
mov eax, ecx
inc ecx
movzx edx, byte [edx + esi]
mov byte [ebp - 7], dl
xor edx, edx
div edi
movzx eax, byte [edx + esi]
mov byte [ebp - 8], al
mov edx, dword [ebp - 8]
xor dword [ebx - 8], edx
sub dword [ebp - 0x10], 1
jne 0x414295
mov esi, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
add esi, 0x14
lea edi, [eax + 9]
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0xc]
push eax
call fcn.00413210
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov dword [esi - 4], ecx
mov dword [esi], edx
add esi, 8
sub edi, 1
jne 0x414426
mov ebx, dword [ebp - 0x14]
lea esi, [ebx + 0x5c]
mov dword [ebp - 0x10], 4
mov edi, 0x80
lea eax, [ebp - 0xc]
push eax
mov ecx, ebx
call fcn.00413210
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov dword [esi - 4], ecx
mov dword [esi], edx
add esi, 8
sub edi, 1
jne 0x414457
sub dword [ebp - 0x10], 1
jne 0x414452
mov ecx, dword [ebp - 4]
mov eax, 1
mov dword [ebx + 0xc], eax
pop ebx
pop edi
xor ecx, ebp
pop esi
call fcn.00445a92
mov esp, ebp
pop ebp
ret 8