Function at 0x1001f480
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x100fa00c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x100fa929], 0
mov ecx, dword [0x10103fe8]
push esi
cvttss2si eax, dword [ecx + 0x10]
cvttss2si esi, dword [ecx + 0x14]
je 0x1001f51d
cdq
sub eax, edx
mov dword [ecx + 0x4700], 0
sar eax, 1
sub eax, 0x190
mov dword [ecx + 0x4704], 0
mov dword [ecx + 0x46ec], 1
mov byte [0x100fa929], 0
movd xmm1, eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sub eax, 0x12c
or dword [ecx + 0x46e8], 1
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x46f8], xmm1
movss dword [ecx + 0x46fc], xmm0
or dword [ecx + 0x46e8], 2
mov dword [ecx + 0x4708], 0x44480000
mov dword [ecx + 0x470c], 0x44160000
mov dword [ecx + 0x46f0], 1
mov ecx, dword [0x100fff90]
call fcn.10033430
mov byte [ebp - 0x1c], 0x3c
mov cl, 0x7e
xor cl, byte [ebp - 0x1c]
mov al, 0x6a
xor al, byte [ebp - 0x1c]
mov dl, 0x6e
mov byte [ebp - 0x1b], al
mov ch, 0x7f
mov byte [ebp - 0x1a], cl
mov dh, 0x74
mov cl, byte [ebp - 0x1c]
mov ah, 0x1c
mov byte [ebp - 0x26], 0x79
xor dl, cl
mov al, byte [ebp - 0x26]
xor dh, cl
xor al, cl
mov byte [ebp - 0x27], 0x7d
mov byte [ebp - 0x15], al
xor ch, cl
mov al, byte [ebp - 0x27]
xor ah, cl
xor al, cl
mov byte [ebp - 0x28], 0x68
mov byte [ebp - 0x14], al
mov al, byte [ebp - 0x28]
xor al, cl
mov byte [ebp - 0x25], 0x6f
mov byte [ebp - 0x13], al
mov al, byte [ebp - 0x25]
xor al, cl
mov byte [ebp - 0x19], dl
mov byte [ebp - 0x17], ch
lea ecx, [ebp - 0x1b]
mov byte [ebp - 0x16], dh
xor edx, edx
mov byte [ebp - 0x11], 0
push 0x3b
mov byte [ebp - 0x18], ah
mov byte [ebp - 0x12], al
mov byte [ebp - 0x11], 0
call fcn.10030bc0
add esp, 4
test al, al
je 0x1001fea1
movaps xmm0, xmmword [0x100f2710]
xor ecx, ecx
movups xmmword [ebp - 0x24], xmm0
mov word [ebp - 0x14], 0x595e
mov byte [ebp - 0x12], 0
mov al, byte [ebp - 0x24]
xor byte [ebp + ecx - 0x23], al
inc ecx
cmp ecx, 0x11
jb 0x1001f5e6
lea eax, [ebp - 0x23]
mov byte [ebp - 0x12], 0
push eax
call fcn.10051cd0
mov esi, dword [0x10103fe8]
add esp, 4
mov eax, dword [esi + 0x3e38]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e38]
cmp byte [eax + 0xab], 0
jne 0x1001f649
movss xmm1, dword [0x100f2090]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
call fcn.10035920
mov esi, dword [0x10103fe8]
mov eax, dword [esi + 0x3e38]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e38]
mov eax, dword [eax + 0x18c]
test eax, eax
je 0x1001f677
cmp dword [eax + 0x10], 2
jne 0x1001f672
cmp dword [eax + 4], 1
je 0x1001f687
call fcn.10051210
push 1
call fcn.10050640
mov esi, dword [0x10103fe8]
add esp, 4
movss xmm1, dword [0x100f1fd8]
mov ecx, 1
call fcn.10050540
cmp dword [0x10103fac], 1
jne 0x1001fa6c
movups xmm0, xmmword [esi + 0x39c4]
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x15
push eax
lea ecx, [esi + 0x4748]
movups xmmword [ebp - 0x20], xmm0
call fcn.1003d290
movaps xmm0, xmmword [0x100f2590]
mov ah, 0x2a
mov cl, 0xaa
mov byte [ebp - 8], 0
mov dl, 0xad
mov dword [ebp - 0x18], 0x41f00000
xor cl, ah
mov dword [ebp - 0x14], 0x41f00000
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xc5
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 0xc], ah
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
mov byte [ebp - 8], 0
movups xmmword [esi + 0x39c4], xmm0
call fcn.10052640
add esp, 4
mov ecx, 1
call fcn.10028f90
cmp dword [0x10103fac], 2
jne 0x1001fabe
mov esi, dword [0x10103fe8]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 0x15
movups xmm0, xmmword [esi + 0x39c4]
lea ecx, [esi + 0x4748]
movups xmmword [ebp - 0x20], xmm0
call fcn.1003d290
movaps xmm0, xmmword [0x100f2590]
mov ah, 5
movups xmmword [esi + 0x39c4], xmm0
mov cl, 0x84
mov byte [ebp - 8], 0
mov dl, 0x9e
mov dword [ebp - 0x18], 0x41f00000
xor cl, ah
mov dword [ebp - 0x14], 0x41f00000
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xea
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 0xc], ah
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
mov byte [ebp - 8], 0
call fcn.10052640
add esp, 4
mov ecx, 1
call fcn.10028f90
cmp dword [0x10103fac], 3
jne 0x1001fb10
mov esi, dword [0x10103fe8]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 0x15
movups xmm0, xmmword [esi + 0x39c4]
lea ecx, [esi + 0x4748]
movups xmmword [ebp - 0x20], xmm0
call fcn.1003d290
movaps xmm0, xmmword [0x100f2590]
mov ah, 7
movups xmmword [esi + 0x39c4], xmm0
mov cl, 0x86
mov byte [ebp - 8], 0
mov dl, 0xa9
mov dword [ebp - 0x18], 0x41f00000
xor cl, ah
mov dword [ebp - 0x14], 0x41f00000
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xe8
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 0xc], ah
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
mov byte [ebp - 8], 0
call fcn.10052640
add esp, 4
mov ecx, 1
call fcn.10028f90
cmp dword [0x10103fac], 4
jne 0x1001fb62
mov esi, dword [0x10103fe8]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 0x15
movups xmm0, xmmword [esi + 0x39c4]
lea ecx, [esi + 0x4748]
movups xmmword [ebp - 0x20], xmm0
call fcn.1003d290
movaps xmm0, xmmword [0x100f2590]
mov ah, 0x15
movups xmmword [esi + 0x39c4], xmm0
mov cl, 0x93
mov byte [ebp - 8], 0
mov dl, 0xac
mov dword [ebp - 0x18], 0x41f00000
xor cl, ah
mov dword [ebp - 0x14], 0x41f00000
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xfa
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 0xc], ah
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
mov byte [ebp - 8], 0
call fcn.10052640
add esp, 4
mov ecx, 1
call fcn.10028f90
cmp dword [0x10103fac], 5
jne 0x1001fbb4
mov esi, dword [0x10103fe8]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 0x15
movups xmm0, xmmword [esi + 0x39c4]
lea ecx, [esi + 0x4748]
movups xmmword [ebp - 0x20], xmm0
call fcn.1003d290
movaps xmm0, xmmword [0x100f2590]
mov ah, 0x42
movups xmmword [esi + 0x39c4], xmm0
mov cl, 0xd9
mov byte [ebp - 8], 0
mov dl, 0xfd
mov dword [ebp - 0x18], 0x41f00000
xor cl, ah
mov dword [ebp - 0x14], 0x41f00000
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xad
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 0xc], ah
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
mov byte [ebp - 8], 0
call fcn.10052640
add esp, 4
mov ecx, 1
call fcn.10028f90
cmp dword [0x10103fac], 6
jne 0x1001fc06
mov esi, dword [0x10103fe8]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 0x15
movups xmm0, xmmword [esi + 0x39c4]
lea ecx, [esi + 0x4748]
movups xmmword [ebp - 0x20], xmm0
call fcn.1003d290
movaps xmm0, xmmword [0x100f2590]
mov ah, 0x7a
mov cl, 0xfc
mov dword [ebp - 0x18], 0x41f00000
mov dl, cl
mov dword [ebp - 0x14], 0x41f00000
movups xmmword [esi + 0x39c4], xmm0
xor cl, ah
mov byte [ebp - 8], 0
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0x95
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 0xc], ah
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
mov byte [ebp - 8], 0
call fcn.10052640
add esp, 4
mov ecx, 1
call fcn.10028f90
cmp dword [0x10103fac], 7
jne 0x1001fc58
mov esi, dword [0x10103fe8]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 0x15
movups xmm0, xmmword [esi + 0x39c4]
lea ecx, [esi + 0x4748]
movups xmmword [ebp - 0x20], xmm0
call fcn.1003d290
movaps xmm0, xmmword [0x100f2590]
mov ah, 0x22
movups xmmword [esi + 0x39c4], xmm0
mov cl, 0xa1
mov byte [ebp - 8], 0
mov dl, 0xa5
mov dword [ebp - 0x18], 0x41f00000
xor cl, ah
mov dword [ebp - 0x14], 0x41f00000
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xcd
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 0xc], ah
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
mov byte [ebp - 8], 0
call fcn.10052640
add esp, 4
mov ecx, 1
call fcn.10028f90
jmp 0x1001fcae
mov ah, 0x46
mov byte [ebp - 8], 0
mov cl, 0xc6
mov dword [ebp - 0x18], 0x41f00000
mov dl, 0xc1
mov dword [ebp - 0x14], 0x41f00000
xor cl, ah
mov byte [ebp - 0xc], ah
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xa9
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 8], 0
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
call fcn.10052640
add esp, 4
test al, al
je 0x1001f71f
mov dword [0x10103fac], 1
mov ah, 0x77
mov byte [ebp - 8], 0
mov cl, 0xf6
mov dword [ebp - 0x18], 0x41f00000
mov dl, 0xec
mov dword [ebp - 0x14], 0x41f00000
xor cl, ah
mov byte [ebp - 0xc], ah
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0x98
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 8], 0
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
call fcn.10052640
add esp, 4
test al, al
je 0x1001f7ab
mov dword [0x10103fac], 2
mov ah, 0x38
mov byte [ebp - 8], 0
mov cl, 0xb9
mov dword [ebp - 0x18], 0x41f00000
mov dl, 0x96
mov dword [ebp - 0x14], 0x41f00000
xor cl, ah
mov byte [ebp - 0xc], ah
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xd7
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 8], 0
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
call fcn.10052640
add esp, 4
test al, al
je 0x1001f837
mov dword [0x10103fac], 3
mov ah, 0x44
mov byte [ebp - 8], 0
mov cl, 0xc2
mov dword [ebp - 0x18], 0x41f00000
mov dl, 0xfd
mov dword [ebp - 0x14], 0x41f00000
xor cl, ah
mov byte [ebp - 0xc], ah
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xab
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 8], 0
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
call fcn.10052640
add esp, 4
test al, al
je 0x1001f8c3
mov dword [0x10103fac], 4
mov ah, 0x5f
mov byte [ebp - 8], 0
mov cl, 0xc4
mov dword [ebp - 0x18], 0x41f00000
mov dl, 0xe0
mov dword [ebp - 0x14], 0x41f00000
xor cl, ah
mov byte [ebp - 0xc], ah
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xb0
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 8], 0
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
call fcn.10052640
add esp, 4
test al, al
je 0x1001f94f
mov dword [0x10103fac], 5
mov ah, 0x1e
mov byte [ebp - 8], 0
mov cl, 0x98
mov dword [ebp - 0x18], 0x41f00000
mov dl, cl
mov dword [ebp - 0x14], 0x41f00000
xor cl, ah
mov byte [ebp - 0xc], ah
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xf1
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 8], 0
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
call fcn.10052640
add esp, 4
test al, al
je 0x1001f9db
mov dword [0x10103fac], 6
mov ah, 0x16
mov byte [ebp - 8], 0
mov cl, 0x95
mov dword [ebp - 0x18], 0x41f00000
mov dl, 0x91
mov dword [ebp - 0x14], 0x41f00000
xor cl, ah
mov byte [ebp - 0xc], ah
xor dl, ah
mov byte [ebp - 0xa], cl
mov al, 0xf9
mov byte [ebp - 9], dl
xor al, ah
mov byte [ebp - 8], 0
push 0
lea edx, [ebp - 0x18]
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
call fcn.10052640
mov ecx, dword [0x10103fac]
add esp, 4
test al, al
mov edx, 7
cmovne ecx, edx
mov dword [0x10103fac], ecx
call fcn.10050f30
mov byte [ebp - 0x10], 0x52
mov al, 0x71
mov cl, al
mov byte [ebp - 0x25], 0x21
xor al, byte [ebp - 0x10]
mov dl, 0x34
mov byte [ebp - 0xf], al
mov ch, 0x3c
mov al, byte [ebp - 0x10]
mov dh, 0x31
xor cl, al
mov byte [ebp - 8], 0
xor dl, al
mov byte [ebp - 0xe], cl
xor ch, al
mov byte [ebp - 0xd], dl
xor dh, al
mov byte [ebp - 0xb], ch
mov ah, 0x27
mov byte [ebp - 0xa], dh
xor ah, al
mov dword [ebp - 0x18], 0x44424000
mov al, byte [ebp - 0x25]
lea edx, [ebp - 0x18]
xor al, byte [ebp - 0x10]
lea ecx, [ebp - 0xf]
sub esp, 8
mov dword [ebp - 0x14], 0x4407c000
mov byte [ebp - 0xc], ah
mov byte [ebp - 9], al
mov byte [ebp - 8], 0
call fcn.1002e580
add esp, 8
test al, al
je 0x1001fe9c
mov esi, dword [0x10103fe8]
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], 7
movss xmm0, dword [esi + 0x37c4]
lea ecx, [esi + 0x4754]
movss dword [ebp - 0x18], xmm0
call fcn.1003d1d0
mov dword [esi + 0x37c4], 0x41000000
lea eax, [ebp - 0x24]
mov esi, dword [0x10103fe8]
push eax
mov dword [ebp - 0x24], 3
movups xmm0, xmmword [esi + 0x38a4]
lea ecx, [esi + 0x4748]
movups xmmword [ebp - 0x20], xmm0
call fcn.1003d290
movaps xmm0, xmmword [0x100f2560]
movups xmmword [esi + 0x38a4], xmm0
mov esi, dword [0x10103fe8]
mov eax, dword [esi + 0x3e38]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e38]
cmp byte [eax + 0xab], 0
jne 0x1001fdcf
movss xmm1, dword [0x100f2090]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.10035920
mov esi, dword [0x10103fe8]
mov eax, dword [esi + 0x3e38]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e38]
mov eax, dword [eax + 0x18c]
test eax, eax
je 0x1001fdfd
cmp dword [eax + 0x10], 2
jne 0x1001fdf8
cmp dword [eax + 4], 1
je 0x1001fe0d
call fcn.10051210
push 1
call fcn.10050640
mov esi, dword [0x10103fe8]
add esp, 4
movss xmm1, dword [0x100f1fbc]
mov ecx, 1
call fcn.10050540
mov eax, dword [esi + 0x3e38]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e38]
mov dword [eax + 0x258], 0x3f666666
movss xmm0, dword [esi + 0x3bcc]
mov eax, dword [eax + 0x2f4]
mulss xmm0, dword [0x100f1eb4]
test eax, eax
je 0x1001fe5e
mulss xmm0, dword [eax + 0x258]
mov eax, dword [0x100fa948]
movss dword [esi + 0x3bdc], xmm0
movss dword [esi + 0x3bc8], xmm0
cmp eax, 0x100f054c
jne 0x1001fe81
call fcn.1000ac80
jmp 0x1001fe8d
cmp eax, 0x100f03c4
jne 0x1001fe8d
call fcn.10014e20
mov ecx, 1
call fcn.10028f90
call fcn.1002e600
call fcn.10032ff0
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.10068c51
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret