Function at 0x1007e430
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x101b6fa8]
sub esp, 0x68
push ebx
push esi
push edi
cmp edx, dword [eax + 0x1d04]
jne 0x1007e4b9
cmp byte [eax + 0x1d52], 0
mov ebx, dword [ebp + 8]
je 0x1007e23f
test bl, 4
je 0x1007e4b9
mov esi, dword [eax + 0x1b9c]
cmp byte [esi + 0x150], 0
jne 0x1007e4b9
test bl, 8
je 0x1007e25c
xorps xmm0, xmm0
jmp 0x1007e264
movss xmm0, dword [eax + 0x1558]
movss xmm6, dword [esi + 0x234]
movss xmm7, dword [esi + 0x238]
movss xmm5, dword [0x1018a864]
movss dword [ebp - 0xc], xmm0
movups xmm1, xmmword [ecx]
movaps xmm2, xmm1
maxss xmm2, dword [esi + 0x230]
movups xmmword [ebp - 0x34], xmm1
movss xmm4, dword [ebp - 0x2c]
movss xmm3, dword [ebp - 0x28]
minss xmm4, xmm7
shufps xmm1, xmm1, 0x55
movss dword [ebp - 0x34], xmm2
maxss xmm1, xmm6
minss xmm3, dword [esi + 0x23c]
movss dword [ebp - 0x2c], xmm4
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x28], xmm3
test bl, 1
je 0x1007e47a
movss xmm0, dword [0x1018a910]
subss xmm2, xmm0
subss xmm1, xmm0
addss xmm4, xmm0
addss xmm3, xmm0
comiss xmm2, dword [esi + 0x230]
movss dword [ebp - 0x14], xmm2
movss dword [ebp - 0x34], xmm2
movups xmmword [ebp - 0x64], xmm1
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x20], xmm4
movss dword [ebp - 0x2c], xmm4
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x28], xmm3
jb 0x1007e336
comiss xmm1, xmm6
jb 0x1007e336
comiss xmm7, xmm4
jb 0x1007e336
movss xmm0, dword [esi + 0x23c]
comiss xmm0, xmm3
jb 0x1007e336
mov byte [ebp - 5], 1
jmp 0x1007e3de
comiss xmm2, xmm4
mov eax, dword [esi + 0x284]
mov byte [ebp - 5], 0
mov dword [ebp - 0x10], eax
movups xmm0, xmmword [ebp - 0x34]
movups xmmword [ebp - 0x54], xmm0
movups xmmword [ebp - 0x44], xmm0
jb 0x1007e361
movss dword [ebp - 0x3c], xmm2
movups xmm0, xmmword [ebp - 0x44]
movups xmmword [ebp - 0x54], xmm0
comiss xmm1, xmm3
jb 0x1007e373
movss dword [ebp - 0x38], xmm1
movups xmm0, xmmword [ebp - 0x44]
movups xmmword [ebp - 0x54], xmm0
mov ecx, dword [eax + 0x40]
lea edi, [eax + 0x3c]
mov eax, dword [edi]
cmp eax, ecx
jne 0x1007e3aa
lea ebx, [eax + 1]
test ecx, ecx
je 0x1007e391
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1007e396
mov eax, 8
cmp eax, ebx
mov ecx, edi
cmovg ebx, eax
push ebx
call fcn.1009cd60
movups xmm0, xmmword [ebp - 0x54]
mov ebx, dword [ebp + 8]
mov eax, dword [edi]
mov edx, dword [edi + 8]
add eax, eax
mov ecx, dword [ebp - 0x10]
movups xmmword [edx + eax*8], xmm0
inc dword [edi]
movups xmmword [ecx + 0x60], xmm0
call fcn.10095b60
movups xmm1, xmmword [ebp - 0x64]
movss xmm2, dword [ebp - 0x14]
movss xmm3, dword [ebp - 0x18]
movss xmm4, dword [ebp - 0x20]
movss xmm5, dword [0x1018a864]
movss xmm0, dword [ebp - 0xc]
addss xmm1, xmm5
sub esp, 0x10
subss xmm4, xmm5
subss xmm3, xmm5
mov ecx, 0x31
addss xmm2, xmm5
movss dword [ebp - 0x18], xmm1
movaps xmm1, xmm5
mov dword [esp + 0xc], 0x40000000
movss dword [ebp - 0x24], xmm4
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0x1c], xmm2
movss dword [esp + 4], xmm0
call fcn.1007d9b0
mov ecx, dword [esi + 0x284]
add esp, 4
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10097ed0
cmp byte [ebp - 5], 0
jne 0x1007e472
mov ecx, dword [esi + 0x284]
mov edx, dword [ecx + 0x3c]
sub edx, 1
mov dword [ecx + 0x3c], edx
jne 0x1007e45b
mov eax, dword [ecx + 0x2c]
add eax, 0x18
jmp 0x1007e466
mov eax, dword [ecx + 0x44]
shl edx, 4
add eax, 0xfffffff0
add eax, edx
movups xmm0, xmmword [eax]
movups xmmword [ecx + 0x60], xmm0
call fcn.10095b60
movss xmm5, dword [0x1018a864]
test bl, 2
je 0x1007e4b9
movss xmm0, dword [ebp - 0xc]
sub esp, 0x10
movaps xmm1, xmm5
mov ecx, 0x31
mov dword [esp + 0xc], 0x3f800000
movss dword [esp + 4], xmm0
call fcn.1007d9b0
mov ecx, dword [esi + 0x284]
add esp, 4
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10097ed0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret