Function at 0x1001d790
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov edx, dword [0x102ba02c]
mov eax, edx
movss xmm4, dword [0x102ad2b4]
shr eax, 0x1f
movss xmm1, dword [0x102ad28c]
movd xmm0, edx
movss xmm5, dword [0x102ad294]
mov ecx, dword [0x102ba030]
cvtdq2pd xmm0, xmm0
push ebx
push esi
push edi
addsd xmm0, qword [eax*8 + 0x102af460]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x102ad258]
divss xmm0, xmm4
maxss xmm1, xmm0
movss dword [esp + 0x10], xmm1
movss xmm1, dword [0x102ad2bc]
cmp edx, 0x500
jne 0x1001d810
cmp ecx, 0x400
jne 0x1001d810
movaps xmm3, xmm1
movaps xmm2, xmm1
jmp 0x1001d84a
movd xmm0, ecx
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102af460]
cvtpd2ps xmm3, xmm0
mulss xmm3, xmm5
divss xmm3, xmm4
cmp edx, 0x500
jne 0x1001d847
cmp ecx, 0x400
jne 0x1001d847
movaps xmm2, xmm1
jmp 0x1001d84a
movaps xmm2, xmm3
movss xmm6, dword [0x102ad290]
movaps xmm0, xmm3
mulss xmm2, xmm6
mulss xmm0, dword [0x102ad23c]
movss xmm7, dword [0x102ad2a0]
divss xmm2, xmm4
movss dword [esp + 0xc], xmm0
addss xmm2, xmm7
cmp edx, 0x500
jne 0x1001d887
cmp ecx, 0x400
je 0x1001d8a9
movd xmm0, ecx
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102af460]
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 + 0x102af460]
addss xmm1, xmm7
movss dword [esp + 4], xmm2
movss dword [esp], xmm3
push 0x102ba2a0
push ecx
cvtpd2ps xmm0, xmm0
push 0x102b8dd4
mov ecx, 3
addss xmm1, dword [0x102ad278]
subss xmm0, xmm1
cvttss2si esi, xmm0
mov edx, esi
call fcn.1001ce80
movss xmm3, dword [esp + 0x24]
lea eax, [esi + 4]
movss xmm1, dword [esp + 0x20]
movaps xmm0, xmm3
mulss xmm1, dword [0x102ad240]
movaps xmm2, xmm3
add esp, 0xc
mov edx, eax
addss xmm0, dword [0x102ad278]
mulss xmm2, dword [0x102ad240]
mov dword [esp + 0x24], eax
addss xmm1, dword [0x102ad268]
movss dword [esp + 4], xmm3
addss xmm0, dword [0x102ad278]
movss dword [esp], xmm3
push 0x102ba324
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 0x102b8dd8
mov ecx, edi
call fcn.1001ce80
add esp, 0x14
movd xmm0, edi
mov bh, 0x51
mov byte [esp + 0x28], 0
mov al, 0x74
mov byte [esp + 0x20], bh
mov ah, 0x18
mov byte [esp + 0x28], 0
push dword [0x102b8d4c]
xor al, bh
xor ah, bh
mov byte [esp + 0x25], al
mov ch, 0x1d
mov byte [esp + 0x29], ah
mov cl, 0x38
lea eax, [esp + 0x25]
mov dl, 0x71
push eax
push 0
push dword [0x102b8e60]
mov bl, 0x1a
mov dh, ch
push dword [0x102ba0bc]
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.1001d610
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 0x102ba1f0
push ecx
push 0x102b8ddc
mov ecx, esi
call fcn.1001ce80
add esp, 0x14
mov byte [esp + 0x20], 0x21
mov al, 4
movd xmm0, esi
xor al, byte [esp + 0x20]
mov ah, 0x64
mov byte [esp + 0x21], al
mov cl, 0x48
mov al, byte [esp + 0x20]
mov dl, 1
push dword [0x102ba0d8]
xor ah, al
mov byte [esp + 0x2d], 0
mov ch, 0x60
mov byte [esp + 0x29], ah
mov dh, 0x75
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, 0x65
mov byte [esp + 0x2a], ch
xor bl, al
mov byte [esp + 0x2b], dh
mov bh, 0x69
mov byte [esp + 0x28], bl
xor bh, al
lea eax, [esp + 0x25]
push eax
addss xmm0, dword [esp + 0x20]
push 0
push dword [0x102b8e60]
mov byte [esp + 0x38], bh
push dword [0x102ba0bc]
cvttss2si eax, xmm0
push 0xffffffffffffffff
push 1
push dword [esp + 0x30]
push eax
call fcn.1001d610
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 0x102ba46c
push ecx
push 0x102b8de0
mov ecx, esi
call fcn.1001ce80
add esp, 0x14
mov bh, 0x73
push dword [0x102ba044]
mov al, 0x56
movd xmm0, esi
mov dl, al
mov byte [esp + 0x2c], 0
mov bl, al
mov byte [esp + 0x24], bh
mov ah, 0x53
mov byte [esp + 0x2c], 0
xor al, bh
xor ah, bh
cvtdq2ps xmm0, xmm0
mov byte [esp + 0x25], al
mov cl, 0x1a
mov byte [esp + 0x29], ah
mov ch, 0x38
lea eax, [esp + 0x25]
mov dh, 0x37
push eax
push 0
push dword [0x102b8e60]
addss xmm0, dword [esp + 0x28]
push dword [0x102ba0bc]
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.1001d610
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 0x102ba390
push ecx
push 0x102b8de4
mov ecx, esi
call fcn.1001ce80
mov bh, 0x48
mov al, 0x6d
xor ch, ch
mov byte [esp + 0x34], bh
mov dl, al
mov byte [esp + 0x3c], ch
mov bl, al
mov byte [esp + 0x3c], 0
add esp, 0x14
mov ah, 0x68
mov cl, 0x21
xor al, bh
xor ah, bh
mov byte [esp + 0x21], al
mov dh, 0x1b
mov byte [esp + 0x25], ah
push dword [0x102ba0a4]
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 [0x102b8e60]
addss xmm0, dword [esp + 0x28]
push dword [0x102ba0bc]
push 0xffffffffffffffff
push 1
push dword [esp + 0x30]
cvttss2si eax, xmm0
push eax
call fcn.1001d610
movaps xmm0, xmmword [0x102b0ef0]
add esp, 0x24
movups xmmword [esp + 0x2c], xmm0
xor ecx, ecx
mov word [esp + 0x4c], 0x4f
movaps xmm0, xmmword [0x102afd00]
movups xmmword [esp + 0x3c], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x2c]
xor byte [esp + ecx + 0x2d], al
inc ecx
cmp ecx, 0x20
jb 0x1001dc70
push dword [0x102ba09c]
lea eax, [esp + 0x31]
mov byte [esp + 0x51], 0
push dword [0x102b8e8c]
push eax
mov eax, dword [0x102ba030]
push 0
push dword [0x102b8e60]
add eax, 0xffffffea
push dword [0x102b9080]
push 0xff00ff00
push 1
push eax
mov eax, dword [0x102ba02c]
shr eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102af460]
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
push eax
call fcn.1001d610
mov eax, dword [0x102ba02c]
add esp, 0x20
shr eax, 1
mov edx, dword [0x102ba030]
mov dword [esp + 4], 0x41b80000
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
lea edx, [edx - 0x19]
mov dword [esp], 0x43700000
push 0x102ba10c
push ecx
push 0x102b8dfc
addsd xmm0, qword [eax*8 + 0x102af460]
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x102ad2b8]
cvttss2si ecx, xmm0
call fcn.1001ce80
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret