Function at 0x1000a900
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov edx, dword [0x101c304c]
mov eax, edx
movss xmm4, dword [0x1005c18c]
shr eax, 0x1f
movss xmm1, dword [0x1005c164]
movd xmm0, edx
movss xmm5, dword [0x1005c16c]
mov ecx, dword [0x101c3050]
cvtdq2pd xmm0, xmm0
push ebx
push esi
push edi
addsd xmm0, qword [eax*8 + 0x1005e930]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x1005c130]
divss xmm0, xmm4
maxss xmm1, xmm0
movss dword [esp + 0x10], xmm1
movss xmm1, dword [0x1005c194]
cmp edx, 0x500
jne 0x1000a980
cmp ecx, 0x400
jne 0x1000a980
movaps xmm3, xmm1
movaps xmm2, xmm1
jmp 0x1000a9ba
movd xmm0, ecx
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1005e930]
cvtpd2ps xmm3, xmm0
mulss xmm3, xmm5
divss xmm3, xmm4
cmp edx, 0x500
jne 0x1000a9b7
cmp ecx, 0x400
jne 0x1000a9b7
movaps xmm2, xmm1
jmp 0x1000a9ba
movaps xmm2, xmm3
movss xmm6, dword [0x1005c168]
movaps xmm0, xmm3
mulss xmm2, xmm6
mulss xmm0, dword [0x1005c114]
movss xmm7, dword [0x1005c178]
divss xmm2, xmm4
movss dword [esp + 0xc], xmm0
addss xmm2, xmm7
cmp edx, 0x500
jne 0x1000a9f7
cmp ecx, 0x400
je 0x1000aa19
movd xmm0, ecx
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1005e930]
cvtpd2ps xmm1, xmm0
mulss xmm1, xmm5
divss xmm1, xmm4
mulss xmm1, xmm6
sub esp, 8
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
divss xmm1, xmm4
addsd xmm0, qword [ecx*8 + 0x1005e930]
addss xmm1, xmm7
movss dword [esp + 4], xmm2
movss dword [esp], xmm3
push 0x563
push 0x100da010
cvtpd2ps xmm0, xmm0
push ecx
push 0x101c1dd4
mov ecx, 3
addss xmm1, dword [0x1005c150]
subss xmm0, xmm1
cvttss2si esi, xmm0
mov edx, esi
call fcn.1000a2b0
movss xmm3, dword [esp + 0x28]
lea eax, [esi + 4]
movss xmm1, dword [esp + 0x24]
movaps xmm0, xmm3
mulss xmm1, dword [0x1005c118]
movaps xmm2, xmm3
add esp, 0x10
mov edx, eax
addss xmm0, dword [0x1005c150]
mulss xmm2, dword [0x1005c118]
mov dword [esp + 0x24], eax
addss xmm1, dword [0x1005c140]
movss dword [esp + 4], xmm3
addss xmm0, dword [0x1005c150]
movss dword [esp], xmm3
push 0x49b2
subss xmm1, xmm2
movss dword [esp + 0x24], xmm2
push 0x100b6010
cvttss2si ecx, xmm0
cvttss2si edi, xmm1
add ecx, esi
push ecx
mov dword [esp + 0x28], ecx
push 0x101c1dd8
mov ecx, edi
call fcn.1000a2b0
push dword [0x101c1d4c]
mov bh, 0x1e
movd xmm0, edi
mov al, 0x3b
mov byte [esp + 0x44], 0
mov ah, 0x57
mov byte [esp + 0x3c], bh
xor al, bh
mov byte [esp + 0x44], 0
xor ah, bh
mov byte [esp + 0x3d], al
mov byte [esp + 0x41], ah
mov ch, 0x52
lea eax, [esp + 0x3d]
mov cl, 0x77
push eax
push 0
push dword [0x101c1e60]
mov dl, 0x3e
mov bl, 0x55
push dword [0x101c30e0]
mov dh, ch
xor cl, bh
xor dl, bh
mov byte [esp + 0x4e], cl
xor bl, bh
mov byte [esp + 0x4f], dl
xor ch, bh
mov byte [esp + 0x50], bl
xor dh, bh
mov byte [esp + 0x52], ch
mov byte [esp + 0x53], dh
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esp + 0x44]
push 0xffffffffffffffff
push 1
push dword [esp + 0x48]
cvttss2si eax, xmm0
push eax
call fcn.1000a770
movd xmm0, edi
add esp, 0x34
mov edi, dword [esp + 0x24]
mov edx, edi
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esp + 0x14]
cvttss2si esi, xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push 0x26f
push 0x100f2148
push ecx
push 0x101c1ddc
mov ecx, esi
call fcn.1000a2b0
push dword [0x101c30fc]
mov byte [esp + 0x3c], 0x61
mov al, 0x44
xor al, byte [esp + 0x3c]
mov ah, 0x24
mov byte [esp + 0x3d], al
mov cl, 8
mov al, byte [esp + 0x3c]
mov dl, 0x41
xor ah, al
movd xmm0, esi
mov ch, 0x20
mov byte [esp + 0x41], ah
mov dh, 0x35
mov byte [esp + 0x45], 0
xor cl, al
mov byte [esp + 0x45], 0
xor dl, al
mov byte [esp + 0x3e], cl
xor ch, al
mov byte [esp + 0x3f], dl
xor dh, al
mov byte [esp + 0x42], ch
cvtdq2ps xmm0, xmm0
mov bl, 0x25
mov byte [esp + 0x43], dh
xor bl, al
mov bh, 0x29
xor bh, al
mov byte [esp + 0x40], bl
lea eax, [esp + 0x3d]
mov byte [esp + 0x44], bh
push eax
addss xmm0, dword [esp + 0x38]
push 0
push dword [0x101c1e60]
push dword [0x101c30e0]
cvttss2si eax, xmm0
push 0xffffffffffffffff
push 1
push dword [esp + 0x48]
push eax
call fcn.1000a770
movd xmm0, esi
add esp, 0x34
cvtdq2ps xmm0, xmm0
mov edx, edi
addss xmm0, dword [esp + 0x14]
cvttss2si esi, xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push 0x245
push 0x1009e6c8
push ecx
push 0x101c1de0
mov ecx, esi
call fcn.1000a2b0
push dword [0x101c3064]
mov bh, 0x63
movd xmm0, esi
mov al, 0x46
mov byte [esp + 0x44], 0
mov dl, al
mov byte [esp + 0x3c], bh
mov bl, al
mov byte [esp + 0x44], 0
mov ah, 0x43
xor al, bh
xor ah, bh
mov byte [esp + 0x3d], al
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x41], ah
mov cl, 0xa
lea eax, [esp + 0x3d]
mov ch, 0x28
push eax
push 0
push dword [0x101c1e60]
addss xmm0, dword [esp + 0x40]
push dword [0x101c30e0]
mov dh, 0x27
xor cl, bh
push 0xffffffffffffffff
push 1
push dword [esp + 0x48]
cvttss2si eax, xmm0
xor dl, bh
mov byte [esp + 0x5a], cl
xor ch, bh
mov byte [esp + 0x5b], dl
xor dh, bh
mov byte [esp + 0x5e], ch
xor bl, bh
mov byte [esp + 0x5f], dh
mov byte [esp + 0x5c], bl
push eax
call fcn.1000a770
movd xmm0, esi
add esp, 0x34
cvtdq2ps xmm0, xmm0
mov edx, edi
addss xmm0, dword [esp + 0x14]
cvttss2si esi, xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push 0x5df
push 0x100e82f0
push ecx
push 0x101c1de4
mov ecx, esi
call fcn.1000a2b0
push dword [0x101c30c8]
mov bh, 0x1d
mov byte [esp + 0x44], 0
mov al, 0x38
mov byte [esp + 0x3c], bh
mov dl, al
mov byte [esp + 0x44], 0
mov bl, al
mov cl, 0x74
mov ah, 0x3d
mov ch, 0x55
mov dh, 0x4e
xor al, bh
xor cl, bh
mov byte [esp + 0x3d], al
xor dl, bh
mov byte [esp + 0x3e], cl
xor bl, bh
mov byte [esp + 0x3f], dl
xor ah, bh
mov byte [esp + 0x40], bl
xor ch, bh
mov byte [esp + 0x41], ah
xor dh, bh
mov byte [esp + 0x42], ch
mov byte [esp + 0x43], dh
movd xmm0, esi
lea eax, [esp + 0x3d]
push eax
cvtdq2ps xmm0, xmm0
push 0
push dword [0x101c1e60]
addss xmm0, dword [esp + 0x40]
push dword [0x101c30e0]
push 0xffffffffffffffff
push 1
push dword [esp + 0x48]
cvttss2si eax, xmm0
push eax
call fcn.1000a770
movaps xmm0, xmmword [0x10060950]
add esp, 0x3c
movups xmmword [esp + 0x2c], xmm0
xor ecx, ecx
mov word [esp + 0x4c], 0x56
movaps xmm0, xmmword [0x1005edb0]
movups xmmword [esp + 0x3c], xmm0
mov al, byte [esp + 0x2c]
xor byte [esp + ecx + 0x2d], al
inc ecx
cmp ecx, 0x20
jb 0x1000ade6
push dword [0x101c30bc]
lea eax, [esp + 0x31]
mov byte [esp + 0x51], 0
push dword [0x101c1e8c]
push eax
mov eax, dword [0x101c3050]
push 0
push dword [0x101c1e60]
add eax, 0xffffffea
push dword [0x101c20a4]
push 0xff00ff00
push 1
push eax
mov eax, dword [0x101c304c]
shr eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1005e930]
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
push eax
call fcn.1000a770
mov eax, dword [0x101c304c]
add esp, 0x20
shr eax, 1
mov edx, dword [0x101c3050]
mov dword [esp + 4], 0x41b80000
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
lea edx, [edx - 0x19]
mov dword [esp], 0x43700000
push 0x690
push 0x10177138
push ecx
push 0x101c1dfc
addsd xmm0, qword [eax*8 + 0x1005e930]
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x1005c190]
cvttss2si ecx, xmm0
call fcn.1000a2b0
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret