Function at 0x100adf80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
cmp dword [0x100f65ec], 0
jne 0x100ae03c
mov dword [ebp - 0x10], 0x818c90ab
xor eax, eax
mov dword [ebp - 0xc], 0x8190c496
mov dword [ebp - 8], 0x9691909c
mov word [ebp - 4], 0x9781
mov byte [ebp - 2], 0xe4
xor byte [ebp + eax - 0x10], 0xe4
inc eax
cmp eax, 0xf
jb 0x100adfb4
movaps xmm0, xmmword [0x100c3aa0]
xor eax, eax
movaps xmm2, xmmword [0x100c4370]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x18], 0x82bbd592
movaps xmm0, xmmword [0x100c3870]
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xe481968d
nop dword [eax]
movups xmm0, xmmword [ebp + eax - 0x38]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x38], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100adff0
cmp eax, 0x28
jae 0x100ae01b
nop dword [eax]
xor byte [ebp + eax - 0x38], 0xe4
inc eax
cmp eax, 0x28
jb 0x100ae010
mov ecx, dword [0x100f1438]
lea edx, [ebp - 0x10]
push 0
push 1
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x38]
push edx
mov eax, dword [eax + 0x150]
call eax
mov dword [0x100f65ec], eax
cmp dword [0x100f65f0], 0
jne 0x100ae0e6
mov dword [ebp - 0x10], 0x818c90ab
xor eax, eax
mov dword [ebp - 0xc], 0x8190c496
mov dword [ebp - 8], 0x9691909c
mov word [ebp - 4], 0x9781
mov byte [ebp - 2], 0xe4
nop word [eax + eax]
xor byte [ebp + eax - 0x10], 0xe4
inc eax
cmp eax, 0xf
jb 0x100ae070
movaps xmm0, xmmword [0x100c3aa0]
xor eax, eax
movaps xmm1, xmmword [0x100c4370]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x100c3870]
movups xmmword [ebp - 0x30], xmm0
movaps xmm0, xmmword [0x100c4260]
movups xmmword [ebp - 0x20], xmm0
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x40]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x40], xmm0
add eax, 0x10
cmp eax, 0x30
jb 0x100ae0b0
mov ecx, dword [0x100f1438]
lea edx, [ebp - 0x10]
push 0
push 1
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x40]
push edx
mov eax, dword [eax + 0x150]
call eax
mov dword [0x100f65f0], eax
cmp dword [0x100f65f4], 0
jne 0x100ae19c
mov dword [ebp - 0x10], 0x818c90ab
xor eax, eax
mov dword [ebp - 0xc], 0x8190c496
mov dword [ebp - 8], 0x9691909c
mov word [ebp - 4], 0x9781
mov byte [ebp - 2], 0xe4
xor byte [ebp + eax - 0x10], 0xe4
inc eax
cmp eax, 0xf
jb 0x100ae114
movaps xmm0, xmmword [0x100c3aa0]
xor eax, eax
movaps xmm2, xmmword [0x100c4370]
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x1c], 0x81bbd592
movaps xmm0, xmmword [0x100c3870]
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], 0x97808b89
mov byte [ebp - 0x14], 0xe4
movups xmm0, xmmword [ebp + eax - 0x3c]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x3c], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100ae150
cmp eax, 0x29
jae 0x100ae17b
nop dword [eax]
xor byte [ebp + eax - 0x3c], 0xe4
inc eax
cmp eax, 0x29
jb 0x100ae170
mov ecx, dword [0x100f1438]
lea edx, [ebp - 0x10]
push 0
push 1
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x3c]
push edx
mov eax, dword [eax + 0x150]
call eax
mov dword [0x100f65f4], eax
cmp dword [0x100f65f8], 0
jne 0x100ae25c
mov dword [ebp - 0x10], 0x818c90ab
xor eax, eax
mov dword [ebp - 0xc], 0x8190c496
mov dword [ebp - 8], 0x9691909c
mov word [ebp - 4], 0x9781
mov byte [ebp - 2], 0xe4
nop word [eax + eax]
xor byte [ebp + eax - 0x10], 0xe4
inc eax
cmp eax, 0xf
jb 0x100ae1d0
movaps xmm0, xmmword [0x100c3aa0]
xor eax, eax
movaps xmm1, xmmword [0x100c4370]
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x14], 0xe4909791
movaps xmm0, xmmword [0x100c3870]
movups xmmword [ebp - 0x34], xmm0
movaps xmm0, xmmword [0x100c3800]
movups xmmword [ebp - 0x24], xmm0
nop dword [eax]
movups xmm0, xmmword [ebp + eax - 0x44]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x44], xmm0
add eax, 0x10
cmp eax, 0x30
jb 0x100ae210
cmp eax, 0x34
jae 0x100ae23b
nop word [eax + eax]
xor byte [ebp + eax - 0x44], 0xe4
inc eax
cmp eax, 0x34
jb 0x100ae230
mov ecx, dword [0x100f1438]
lea edx, [ebp - 0x10]
push 0
push 1
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x44]
push edx
mov eax, dword [eax + 0x150]
call eax
mov dword [0x100f65f8], eax
cmp byte [0x100d3140], 0
mov ecx, dword [0x100f65ec]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
je 0x100ae301
call eax
test al, al
jne 0x100ae28d
mov ecx, dword [0x100f65ec]
push 1
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x100f65f0]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
jne 0x100ae2b1
mov ecx, dword [0x100f65f0]
push 1
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x100f65f4]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
jne 0x100ae2d5
mov ecx, dword [0x100f65f4]
push 1
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x100f65f8]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
jne 0x100ae384
mov ecx, dword [0x100f65f8]
push 1
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov esp, ebp
pop ebp
ret
call eax
test al, al
je 0x100ae318
mov ecx, dword [0x100f65ec]
push 0
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x100f65f0]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100ae33c
mov ecx, dword [0x100f65f0]
push 0
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x100f65f4]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100ae360
mov ecx, dword [0x100f65f4]
push 0
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x100f65f8]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100ae384
mov ecx, dword [0x100f65f8]
push 0
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov esp, ebp
pop ebp
ret