Function at 0x10082ff5
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x2c], 0x4d4c7839
push edi
mov cl, 0x39
mov dword [ebp - 0x28], 0x58751956
mov dword [ebp - 0x24], 0x4b5c4a
mov eax, ebx
xor byte [ebp + eax - 0x2b], cl
inc eax
cmp eax, 0xa
jae 0x10083028
mov cl, byte [ebp - 0x2c]
jmp 0x10083019
mov edx, 0x10112984
mov byte [ebp - 0x21], bl
lea ecx, [ebp - 0x2b]
call fcn.10071a1b
movaps xmm0, xmmword [0x100ff400]
mov ecx, ebx
movups xmmword [ebp - 0x30], xmm0
mov byte [ebp - 0x20], bl
mov al, byte [ebp - 0x30]
xor byte [ebp + ecx - 0x2f], al
inc ecx
cmp ecx, 0xf
jb 0x10083048
mov edx, 0x10112985
mov byte [ebp - 0x20], bl
lea ecx, [ebp - 0x2f]
call fcn.10071a1b
movaps xmm0, xmmword [0x100ffd70]
mov ecx, ebx
movups xmmword [ebp - 0x30], xmm0
mov word [ebp - 0x20], 0x47
mov al, byte [ebp - 0x30]
xor byte [ebp + ecx - 0x2f], al
inc ecx
cmp ecx, 0x10
jb 0x10083078
mov edx, 0x10112986
mov byte [ebp - 0x1f], bl
lea ecx, [ebp - 0x2f]
call fcn.10071a1b
movss xmm0, dword [0x100fee84]
call fcn.1005e6fe
mov cl, 0x4d
mov dword [ebp - 0xc], 0x21240b4d
mov dword [ebp - 8], 0x3f2839
mov eax, ebx
xor byte [ebp + eax - 0xb], cl
inc eax
cmp eax, 6
jae 0x100830c3
mov cl, byte [ebp - 0xc]
jmp 0x100830b4
lea eax, [ebp - 0xb]
mov byte [ebp - 5], bl
push eax
call fcn.100705fe
movaps xmm0, xmmword [0x10100000]
xor edx, edx
pop ecx
push 0x2c
pop ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x3d282a0b
mov ecx, edx
mov dword [ebp - 8], 0x302b0644
mov byte [ebp - 4], bl
mov word [ebp - 3], 0x44
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x19
jb 0x100830f9
mov byte [ebp - 2], dl
mov cl, 0x49
mov dword [ebp - 0x28], 0xf6a6a49
mov eax, edx
mov word [ebp - 0x24], 0x2520
mov byte [ebp - 0x22], 0x3d
mov byte [ebp - 0x21], bl
mov word [ebp - 0x20], 0x3b
xor byte [ebp + eax - 0x27], cl
inc eax
cmp eax, 8
jae 0x10083136
mov cl, byte [ebp - 0x28]
jmp 0x10083127
push ecx
lea eax, [ebp - 0x1b]
mov byte [ebp - 0x1f], dl
push eax
mov edx, 0x10112988
lea ecx, [ebp - 0x27]
call fcn.10072d13
pop ecx
pop ecx
call fcn.1005e740
call fcn.1007237d
xor edx, edx
mov dword [ebp - 0x28], 0x42c80000
mov dword [ebp - 0x24], 0x41a00000
mov cl, 0x55
mov dword [ebp - 8], 0x23340655
mov eax, edx
mov word [ebp - 4], 0x30
xor byte [ebp + eax - 7], cl
inc eax
cmp eax, 4
jae 0x10083187
mov cl, byte [ebp - 8]
jmp 0x10083178
mov byte [ebp - 3], dl
lea ecx, [ebp - 7]
push edx
lea edx, [ebp - 0x28]
call fcn.10070a89
pop ecx
test al, al
je 0x100831a0
call fcn.1000b32b
xor edx, edx
mov dword [ebp - 0x28], 0x42c80000
mov dword [ebp - 0x24], 0x41a00000
mov cl, 0x1d
mov dword [ebp - 8], 0x7c72511d
mov eax, edx
mov word [ebp - 4], 0x79
xor byte [ebp + eax - 7], cl
inc eax
cmp eax, 4
jae 0x100831d0
mov cl, byte [ebp - 8]
jmp 0x100831c1
mov byte [ebp - 3], dl
lea ecx, [ebp - 7]
push edx
lea edx, [ebp - 0x28]
call fcn.10070a89
pop ecx
test al, al
je 0x100831e9
call fcn.10030127
xor edx, edx
mov dword [ebp - 0x28], 0x42c80000
mov dword [ebp - 0x24], 0x41a00000
mov cl, 0x45
mov dword [ebp - 8], 0x2b241545
mov eax, edx
mov byte [ebp - 4], bl
mov word [ebp - 3], 0x26
xor byte [ebp + eax - 7], cl
inc eax
cmp eax, 5
jae 0x1008321c
mov cl, byte [ebp - 8]
jmp 0x1008320d
mov byte [ebp - 2], dl
lea ecx, [ebp - 7]
push edx
lea edx, [ebp - 0x28]
call fcn.10070a89
pop ecx
test al, al
je 0x1008323e
cmp byte [0x1011298c], 0
sete byte [0x1011298c]
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
call fcn.1005f271
mov ecx, 0x10112b18
call fcn.100829e8
cmp byte [0x1011298c], 0
je 0x100832d6
movss xmm1, dword [0x100fef38]
xorps xmm0, xmm0
call fcn.1005f271
mov eax, dword [0x10112b18]
xor ecx, ecx
movaps xmm0, xmmword [0x100ffe30]
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0x73c481b
mov edx, dword [eax*4 + 0x100ab208]
mov dword [ebp - 0x38], 0x1c0b2948
mov dword [ebp - 0x34], 0xd1e01
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0x1a
jb 0x1008329f
movaps xmm0, xmmword [0x100ffb20]
lea esi, [ebp - 0x30]
movups xmmword [ebp - 0x30], xmm0
lea edi, [ebp - 0x14]
mov byte [ebp - 0x31], 0
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x4b]
push edx
push eax
lea eax, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10070659
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x28], 0x42c80000
mov dword [ebp - 0x24], 0x41a00000
mov eax, ecx
mov byte [ebp - 0xc], bl
mov dword [ebp - 0xb], 0x43404279
mov word [ebp - 7], 0x484d
mov byte [ebp - 5], cl
xor byte [ebp + eax - 0xb], bl
inc eax
cmp eax, 6
jae 0x1008330a
mov bl, byte [ebp - 0xc]
jmp 0x100832fb
mov byte [ebp - 5], cl
lea edx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0xb]
call fcn.10070a89
movss xmm1, dword [0x100fef38]
test al, al
pop ecx
movzx ecx, byte [0x1011298d]
xorps xmm0, xmm0
push 1
pop eax
cmovne ecx, eax
mov byte [0x1011298d], cl
call fcn.1005f271
mov ecx, 0x10112b14
call fcn.100829e8
pop edi
pop esi
pop ebx
leave
ret