Function at 0x1000a900
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov edx, dword [0x1007c4fc]
mov eax, edx
movss xmm4, dword [0x1005a178]
shr eax, 0x1f
movss xmm1, dword [0x1005a15c]
movd xmm0, edx
movss xmm5, dword [0x1005a164]
mov ecx, dword [0x1007c500]
cvtdq2pd xmm0, xmm0
push ebx
push esi
push edi
addsd xmm0, qword [eax*8 + 0x1005cbd0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x1005a128]
divss xmm0, xmm4
maxss xmm1, xmm0
movss dword [esp + 0x10], xmm1
movss xmm1, dword [0x1005a180]
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 + 0x1005cbd0]
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 [0x1005a160]
movaps xmm0, xmm3
mulss xmm2, xmm6
mulss xmm0, dword [0x1005a10c]
movss xmm7, dword [0x1005a170]
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 + 0x1005cbd0]
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 + 0x1005cbd0]
addss xmm1, xmm7
movss dword [esp + 4], xmm2
movss dword [esp], xmm3
push 0x537
push 0x100686e0
cvtpd2ps xmm0, xmm0
push ecx
push 0x1007b284
mov ecx, 3
addss xmm1, dword [0x1005a148]
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 [0x1005a110]
movaps xmm2, xmm3
add esp, 0x10
mov edx, eax
addss xmm0, dword [0x1005a148]
mulss xmm2, dword [0x1005a110]
mov dword [esp + 0x24], eax
addss xmm1, dword [0x1005a138]
movss dword [esp + 4], xmm3
addss xmm0, dword [0x1005a148]
movss dword [esp], xmm3
push 0x49b2
subss xmm1, xmm2
movss dword [esp + 0x24], xmm2
push 0x10063d28
cvttss2si ecx, xmm0
cvttss2si edi, xmm1
add ecx, esi
push ecx
mov dword [esp + 0x28], ecx
push 0x1007b288
mov ecx, edi
call fcn.1000a2b0
push dword [0x1007b1fc]
mov bh, 0x7a
movd xmm0, edi
mov al, 0x5f
mov byte [esp + 0x44], 0
mov ah, 0x33
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, 0x36
lea eax, [esp + 0x3d]
mov cl, 0x13
push eax
push 0
push dword [0x1007b310]
mov dl, 0x5a
mov bl, 0x31
push dword [0x1007c590]
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 0x10069200
push ecx
push 0x1007b28c
mov ecx, esi
call fcn.1000a2b0
push dword [0x1007c5ac]
mov byte [esp + 0x3c], 0x38
mov al, 0x1d
xor al, byte [esp + 0x3c]
mov ah, 0x7d
mov byte [esp + 0x3d], al
mov cl, 0x51
mov al, byte [esp + 0x3c]
mov dl, 0x18
xor ah, al
movd xmm0, esi
mov ch, 0x79
mov byte [esp + 0x41], ah
mov dh, 0x6c
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, 0x7c
mov byte [esp + 0x43], dh
xor bl, al
mov bh, 0x70
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 [0x1007b310]
push dword [0x1007c590]
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 0x10063ad8
push ecx
push 0x1007b290
mov ecx, esi
call fcn.1000a2b0
push dword [0x1007c514]
mov bh, 0x22
movd xmm0, esi
mov al, 7
mov byte [esp + 0x44], 0
mov dl, al
mov byte [esp + 0x3c], bh
mov bl, al
mov byte [esp + 0x44], 0
mov ah, 2
xor al, bh
xor ah, bh
mov byte [esp + 0x3d], al
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x41], ah
mov cl, 0x4b
lea eax, [esp + 0x3d]
mov ch, 0x69
push eax
push 0
push dword [0x1007b310]
addss xmm0, dword [esp + 0x40]
push dword [0x1007c590]
mov dh, 0x66
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 0x10068c18
push ecx
push 0x1007b294
mov ecx, esi
call fcn.1000a2b0
push dword [0x1007c578]
mov bh, 9
mov byte [esp + 0x44], 0
mov al, 0x2c
mov byte [esp + 0x3c], bh
mov dl, al
mov byte [esp + 0x44], 0
mov bl, al
mov cl, 0x60
mov ah, 0x29
mov ch, 0x41
mov dh, 0x5a
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 [0x1007b310]
addss xmm0, dword [esp + 0x40]
push dword [0x1007c590]
push 0xffffffffffffffff
push 1
push dword [esp + 0x48]
cvttss2si eax, xmm0
push eax
call fcn.1000a770
movaps xmm0, xmmword [0x1005bf50]
add esp, 0x3c
movups xmmword [esp + 0x2c], xmm0
xor ecx, ecx
mov word [esp + 0x4c], 3
movaps xmm0, xmmword [0x1005b510]
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 [0x1007c56c]
lea eax, [esp + 0x31]
mov byte [esp + 0x51], 0
push dword [0x1007b33c]
push eax
mov eax, dword [0x1007c500]
push 0
push dword [0x1007b310]
add eax, 0xffffffea
push dword [0x1007b554]
push 0xff00ff00
push 1
push eax
mov eax, dword [0x1007c4fc]
shr eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1005cbd0]
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
push eax
call fcn.1000a770
mov eax, dword [0x1007c4fc]
add esp, 0x20
shr eax, 1
mov edx, dword [0x1007c500]
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 0x10079908
push ecx
push 0x1007b2ac
addsd xmm0, qword [eax*8 + 0x1005cbd0]
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x1005a17c]
cvttss2si ecx, xmm0
call fcn.1000a2b0
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret