Function at 0x45ff50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x148
xorps xmm0, xmm0
mov dword [esp + 0x30], edx
mov edx, dword [ebp + 8]
push esi
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x11c]
push edi
movaps xmmword [esp + 0x120], xmm0
movaps xmmword [esp + 0x130], xmm0
movq qword [esp + 0x140], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0x100], xmm0
movq qword [esp + 0x110], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movq qword [esp + 0xe0], xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0xa0], xmm0
movq qword [esp + 0xb0], xmm0
call fcn.00460c00
movaps xmm0, xmmword [0x49b800]
lea edx, [esp + 0x120]
movups xmmword [esp + 0x40], xmm0
mov dword [esp + 0x60], 0
lea ecx, [esp + 0xf0]
xorps xmm0, xmm0
mov dword [esp + 0x64], 0
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x30], 0
movups xmmword [esp + 0x10], xmm0
mov dword [esp + 0x34], 0
movups xmmword [esp + 0x20], xmm0
call fcn.004612a0
movaps xmm0, xmmword [0x49b800]
mov ecx, 0xfe
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x88], 0
xor edi, edi
xorps xmm0, xmm0
mov dword [esp + 0x8c], 0
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x38]
mov eax, ecx
shr eax, 3
movzx ecx, cl
and ecx, 7
movzx esi, byte [eax + edx]
lea edx, [esp + 0xf0]
shr esi, cl
lea ecx, [esp + 0x40]
and esi, 1
xor edi, esi
push edi
call fcn.00461b80
add esp, 4
lea edx, [esp + 0x68]
lea ecx, [esp + 0x10]
push edi
call fcn.00461b80
add esp, 4
lea eax, [esp + 0x68]
lea edx, [esp + 0xf0]
mov edi, esi
lea ecx, [esp + 0xc0]
push eax
call fcn.00460b60
add esp, 4
lea eax, [esp + 0x10]
lea edx, [esp + 0x40]
lea ecx, [esp + 0x90]
push eax
call fcn.00460b60
add esp, 4
lea eax, [esp + 0x10]
lea edx, [esp + 0x40]
mov ecx, edx
push eax
call fcn.00460860
add esp, 4
lea eax, [esp + 0x68]
lea edx, [esp + 0xf0]
lea ecx, [esp + 0x10]
push eax
call fcn.00460860
add esp, 4
lea eax, [esp + 0x40]
lea edx, [esp + 0xc0]
lea ecx, [esp + 0x68]
push eax
call fcn.00461320
add esp, 4
lea eax, [esp + 0x90]
lea edx, [esp + 0x10]
mov ecx, edx
push eax
call fcn.00461320
add esp, 4
lea edx, [esp + 0x90]
lea ecx, [esp + 0xc0]
call fcn.00460290
lea edx, [esp + 0x40]
lea ecx, [esp + 0x90]
call fcn.00460290
lea eax, [esp + 0x10]
push eax
lea edx, [esp + 0x6c]
lea ecx, [esp + 0xf4]
call fcn.00460860
add esp, 4
lea eax, [esp + 0x10]
lea edx, [esp + 0x68]
mov ecx, eax
push eax
call fcn.00460b60
add esp, 4
lea eax, [esp + 0xc0]
lea edx, [esp + 0x90]
lea ecx, [esp + 0x40]
push eax
call fcn.00461320
add esp, 4
lea eax, [esp + 0xc0]
lea edx, [esp + 0x90]
push eax
mov ecx, edx
call fcn.00460b60
add esp, 4
lea edx, [esp + 0x10]
mov ecx, edx
call fcn.00460290
lea edx, [esp + 0x90]
lea ecx, [esp + 0x68]
call fcn.00461cd0
lea edx, [esp + 0xf0]
mov ecx, edx
call fcn.00460290
lea eax, [esp + 0x68]
lea edx, [esp + 0xc0]
push eax
mov ecx, edx
call fcn.00460860
add esp, 4
lea eax, [esp + 0x10]
lea edx, [esp + 0x120]
lea ecx, [esp + 0x68]
push eax
call fcn.00461320
add esp, 4
lea eax, [esp + 0xc0]
lea edx, [esp + 0x90]
lea ecx, [esp + 0x10]
push eax
call fcn.00461320
mov ecx, dword [esp + 0x10]
add esp, 4
sub ecx, 1
mov dword [esp + 0xc], ecx
jns 0x460062
push esi
lea edx, [esp + 0xf4]
lea ecx, [esp + 0x44]
call fcn.00461b80
add esp, 4
lea edx, [esp + 0x68]
lea ecx, [esp + 0x10]
push esi
call fcn.00461b80
add esp, 4
lea edx, [esp + 0x10]
mov ecx, edx
call fcn.00461060
lea eax, [esp + 0x10]
lea edx, [esp + 0x40]
push eax
mov ecx, edx
call fcn.00461320
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x44]
add esp, 4
call fcn.00460900
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret