Function at 0x10019040
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov edx, dword [0x1021e014]
mov eax, edx
movss xmm4, dword [0x10212294]
shr eax, 0x1f
movss xmm1, dword [0x1021226c]
movd xmm0, edx
movss xmm5, dword [0x10212274]
mov ecx, dword [0x1021e018]
cvtdq2pd xmm0, xmm0
push ebx
push esi
push edi
addsd xmm0, qword [eax*8 + 0x10214fb0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10212238]
divss xmm0, xmm4
maxss xmm1, xmm0
movss dword [esp + 0x10], xmm1
movss xmm1, dword [0x1021229c]
cmp edx, 0x500
jne 0x100190c0
cmp ecx, 0x400
jne 0x100190c0
movaps xmm3, xmm1
movaps xmm2, xmm1
jmp 0x100190fa
movd xmm0, ecx
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10214fb0]
cvtpd2ps xmm3, xmm0
mulss xmm3, xmm5
divss xmm3, xmm4
cmp edx, 0x500
jne 0x100190f7
cmp ecx, 0x400
jne 0x100190f7
movaps xmm2, xmm1
jmp 0x100190fa
movaps xmm2, xmm3
movss xmm6, dword [0x10212270]
movaps xmm0, xmm3
mulss xmm2, xmm6
mulss xmm0, dword [0x1021221c]
movss xmm7, dword [0x10212280]
divss xmm2, xmm4
movss dword [esp + 0xc], xmm0
addss xmm2, xmm7
cmp edx, 0x500
jne 0x10019137
cmp ecx, 0x400
je 0x10019159
movd xmm0, ecx
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10214fb0]
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 + 0x10214fb0]
addss xmm1, xmm7
movss dword [esp + 4], xmm2
movss dword [esp], xmm3
push 0x1021e264
push ecx
cvtpd2ps xmm0, xmm0
push 0x1021cdb4
mov ecx, 3
addss xmm1, dword [0x10212258]
subss xmm0, xmm1
cvttss2si esi, xmm0
mov edx, esi
call fcn.10018750
movss xmm3, dword [esp + 0x24]
lea eax, [esi + 4]
movss xmm1, dword [esp + 0x20]
movaps xmm0, xmm3
mulss xmm1, dword [0x10212220]
movaps xmm2, xmm3
add esp, 0xc
mov edx, eax
addss xmm0, dword [0x10212258]
mulss xmm2, dword [0x10212220]
mov dword [esp + 0x24], eax
addss xmm1, dword [0x10212248]
movss dword [esp + 4], xmm3
addss xmm0, dword [0x10212258]
movss dword [esp], xmm3
push 0x1021e2e8
subss xmm1, xmm2
movss dword [esp + 0x24], xmm2
cvttss2si ecx, xmm0
cvttss2si edi, xmm1
add ecx, esi
push ecx
mov dword [esp + 0x24], ecx
push 0x1021cdb8
mov ecx, edi
call fcn.10018750
add esp, 0x14
movd xmm0, edi
mov bh, 0x11
mov byte [esp + 0x28], 0
mov al, 0x34
mov byte [esp + 0x20], bh
mov ah, 0x58
mov byte [esp + 0x28], 0
push dword [0x1021cd2c]
xor al, bh
xor ah, bh
mov byte [esp + 0x25], al
mov ch, 0x5d
mov byte [esp + 0x29], ah
mov cl, 0x78
lea eax, [esp + 0x25]
mov dl, 0x31
push eax
push 0
push dword [0x1021ce40]
mov bl, 0x5a
mov dh, ch
push dword [0x1021e09c]
xor cl, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x36], cl
xor ch, bh
mov byte [esp + 0x37], dl
xor dh, bh
mov byte [esp + 0x38], bl
mov byte [esp + 0x3a], ch
mov byte [esp + 0x3b], dh
cvtdq2ps xmm0, xmm0
push 0xffffffffffffffff
addss xmm0, dword [esp + 0x30]
push 1
push dword [esp + 0x30]
cvttss2si eax, xmm0
push eax
call fcn.10018eb0
movd xmm0, edi
add esp, 0x1c
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 0x1021e1c0
push ecx
push 0x1021cdbc
mov ecx, esi
call fcn.10018750
add esp, 0x14
mov byte [esp + 0x20], 0x42
mov al, 0x67
movd xmm0, esi
xor al, byte [esp + 0x20]
mov ah, 7
mov byte [esp + 0x21], al
mov cl, 0x2b
mov al, byte [esp + 0x20]
mov dl, 0x62
push dword [0x1021e0b4]
xor ah, al
mov byte [esp + 0x2d], 0
mov ch, 3
mov byte [esp + 0x29], ah
mov dh, 0x16
mov byte [esp + 0x2d], 0
xor cl, al
xor dl, al
xor ch, al
mov byte [esp + 0x26], cl
xor dh, al
mov byte [esp + 0x27], dl
cvtdq2ps xmm0, xmm0
mov bl, 6
mov byte [esp + 0x2a], ch
xor bl, al
mov byte [esp + 0x2b], dh
mov bh, 0xa
mov byte [esp + 0x28], bl
xor bh, al
lea eax, [esp + 0x25]
push eax
addss xmm0, dword [esp + 0x20]
push 0
push dword [0x1021ce40]
mov byte [esp + 0x38], bh
push dword [0x1021e09c]
cvttss2si eax, xmm0
push 0xffffffffffffffff
push 1
push dword [esp + 0x30]
push eax
call fcn.10018eb0
movd xmm0, esi
add esp, 0x1c
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 0x1021e418
push ecx
push 0x1021cdc0
mov ecx, esi
call fcn.10018750
add esp, 0x14
mov bh, 3
push dword [0x1021e024]
mov al, 0x26
movd xmm0, esi
mov dl, al
mov byte [esp + 0x2c], 0
mov bl, al
mov byte [esp + 0x24], bh
mov ah, 0x23
mov byte [esp + 0x2c], 0
xor al, bh
xor ah, bh
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x25], al
mov cl, 0x6a
mov byte [esp + 0x29], ah
mov ch, 0x48
lea eax, [esp + 0x25]
mov dh, 0x47
push eax
push 0
push dword [0x1021ce40]
addss xmm0, dword [esp + 0x28]
push dword [0x1021e09c]
xor cl, bh
xor dl, bh
push 0xffffffffffffffff
push 1
push dword [esp + 0x30]
cvttss2si eax, xmm0
xor ch, bh
mov byte [esp + 0x42], cl
xor dh, bh
mov byte [esp + 0x43], dl
xor bl, bh
mov byte [esp + 0x46], ch
mov byte [esp + 0x44], bl
mov byte [esp + 0x47], dh
push eax
call fcn.10018eb0
movd xmm0, esi
add esp, 0x1c
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 0x1021e354
push ecx
push 0x1021cdc4
mov ecx, esi
call fcn.10018750
mov bh, 0x76
mov byte [esp + 0x3c], 0
mov al, 0x53
mov byte [esp + 0x34], bh
mov dl, al
mov byte [esp + 0x3c], 0
mov bl, al
add esp, 0x14
mov ah, 0x56
mov cl, 0x1f
mov ch, 0x3e
xor al, bh
xor ah, bh
mov byte [esp + 0x21], al
push dword [0x1021e084]
mov dh, 0x25
mov byte [esp + 0x29], ah
xor cl, bh
lea eax, [esp + 0x25]
xor dl, bh
mov byte [esp + 0x26], cl
xor bl, bh
mov byte [esp + 0x27], dl
xor ch, bh
mov byte [esp + 0x28], bl
xor dh, bh
mov byte [esp + 0x2a], ch
mov byte [esp + 0x2b], dh
push eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push 0
push dword [0x1021ce40]
addss xmm0, dword [esp + 0x28]
push dword [0x1021e09c]
push 0xffffffffffffffff
push 1
push dword [esp + 0x30]
cvttss2si eax, xmm0
push eax
call fcn.10018eb0
movaps xmm0, xmmword [0x10215880]
add esp, 0x24
movups xmmword [esp + 0x2c], xmm0
xor ecx, ecx
mov word [esp + 0x4c], 0x7c
movaps xmm0, xmmword [0x10216010]
movups xmmword [esp + 0x3c], xmm0
nop dword [eax]
mov al, byte [esp + 0x2c]
xor byte [esp + ecx + 0x2d], al
inc ecx
cmp ecx, 0x20
jb 0x10019520
push dword [0x1021e07c]
lea eax, [esp + 0x31]
mov byte [esp + 0x51], 0
push dword [0x1021ce6c]
push eax
mov eax, dword [0x1021e018]
push 0
push dword [0x1021ce40]
add eax, 0xffffffea
push dword [0x1021d064]
push 0xff00ff00
push 1
push eax
mov eax, dword [0x1021e014]
shr eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10214fb0]
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
push eax
call fcn.10018eb0
mov eax, dword [0x1021e014]
add esp, 0x20
shr eax, 1
mov edx, dword [0x1021e018]
mov dword [esp + 4], 0x41b80000
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
lea edx, [edx - 0x19]
mov dword [esp], 0x43700000
push 0x1021e0e8
push ecx
push 0x1021cddc
addsd xmm0, qword [eax*8 + 0x10214fb0]
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x10212298]
cvttss2si ecx, xmm0
call fcn.10018750
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret