Function at 0x100c7ab0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
push ebx
push esi
mov esi, dword [0x101e66e8]
push edi
mov edi, ecx
mov dword [ebp - 0x10], edx
mov ecx, dword [0x101e66fc]
movss xmm0, dword [esi + 0x10]
mov eax, dword [esi + 4]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [esi]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [esi + 0x14]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [esi + 8]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [esi + 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x40], eax
movss dword [ebp - 0x44], xmm0
test ecx, ecx
jne 0x100c7b43
mov edx, 0xe80c2f78
mov ecx, 0x101708ad
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov esi, dword [0x101e66e8]
mov ecx, eax
mov dword [0x101e66fc], ecx
movss xmm0, dword [ecx + edi]
movss dword [esi + 0x10], xmm0
test ecx, ecx
jne 0x100c7b86
mov edx, 0xe80c2f78
mov ecx, 0x101708ad
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov esi, dword [0x101e66e8]
mov ecx, eax
mov dword [0x101e66fc], ecx
mov eax, dword [ecx + edi]
movss xmm0, dword [esi + 0x20]
mov dword [esi], eax
movss dword [esi + 0x14], xmm0
movss dword [esi + 8], xmm0
mov dword [esi + 4], bind
test ecx, ecx
jne 0x100c7bda
mov edx, 0xe80c2f78
mov ecx, 0x101708ad
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov esi, dword [0x101e66e8]
mov ecx, eax
mov dword [0x101e66fc], ecx
movss xmm0, dword [ecx + edi]
mov ecx, edi
divss xmm0, dword [esi + 0x20]
mov dword [esi + 0x24], 0
addss xmm0, dword [0x1017f094]
cvttss2si eax, xmm0
mov dword [esi + 0x1c], eax
mov eax, dword [edi + 0x68]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0xa68]
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0xa28]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0xa30]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0xf0]
mov dword [ebp - 0x1c], eax
mov al, byte [edi + 0x2930]
mov byte [ebp - 1], al
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
cmp byte [ebp + 8], 0
mov ecx, 0x7ff00
movq xmm0, qword [eax]
movq qword [ebp - 0x50], xmm0
mov eax, dword [eax + 8]
mov dword [ebp - 0x48], eax
mov eax, 0x100
cmove eax, ecx
mov ecx, dword [0x101e66ac]
mov dword [ebp + 8], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101e6704]
cmp eax, dword [ecx + 4]
jg 0x100c7e09
mov ecx, edi
call dword [0x101e66cc]
mov eax, dword [0x101ee120]
mov dword [eax + edi + 8], 0
mov dword [eax + edi + 0xc], 0
mov eax, dword [0x101e66d0]
mov dword [edi + 0xa30], 0
mov dword [edi + 0xa28], 0
mov dword [edi + 0xa68], 0
test eax, eax
jne 0x100c7ce9
mov edx, 0xe80c2f78
mov ecx, 0x101708c1
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170891
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov dword [0x101e66d0], eax
mov edx, dword [0x101ee778]
add eax, edi
push eax
mov ecx, edi
call edx
or dword [edi + 0xf0], 8
or dword [edi + 0x68], 2
mov byte [edi + 0x2930], 0
mov eax, dword [edi + 0x2990]
mov byte [0x101e6720], 1
mov dword [eax + 0x2c0], 0
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101e66fc]
test eax, eax
jne 0x100c7d5d
mov edx, 0xe80c2f78
mov ecx, 0x101708ad
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov dword [0x101e66fc], eax
movss xmm0, dword [eax + edi]
push ecx
movss dword [esp], xmm0
lea ecx, [edi + 4]
push dword [ebp + 8]
push 0x100
push dword [ebp - 0x10]
call dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x50]
mov dword [edi + 0x68], eax
mov al, byte [ebp - 1]
mov byte [edi + 0x2930], al
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xf0], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0xa68], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 0xa30], eax
mov eax, dword [ebp - 0x28]
mov dword [edi + 0xa28], eax
mov eax, dword [0x101ee778]
push ecx
mov ecx, edi
mov byte [0x101e6720], 0
call eax
mov eax, dword [0x101e66e8]
movss xmm0, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
pop edi
movss dword [eax + 0x10], xmm0
movss xmm0, dword [ebp - 0x30]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x34]
movss dword [eax + 0x14], xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [eax + 8], xmm0
movss xmm0, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x40]
pop esi
mov dword [eax + 0x1c], ecx
movss dword [eax + 0x24], xmm0
pop ebx
mov esp, ebp
pop ebp
ret
push 0x101e6704
call fcn.1006d07f
add esp, 4
cmp dword [0x101e6704], 0xffffffff
jne 0x100c7c79
movaps xmm1, xmmword [0x1017f9b0]
mov eax, 0x40
movaps xmm0, xmm1
mov dword [ebp - 0x58], 0xbba4bba4
xorps xmm0, xmmword [0x1017fb60]
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x54], 0x84b7c7a4
movaps xmm0, xmm1
xorps xmm0, xmmword [0x1017fa90]
movups xmmword [ebp - 0x88], xmm0
movaps xmm0, xmm1
xorps xmm1, xmmword [0x1017fc40]
xorps xmm0, xmmword [0x1017faa0]
movups xmmword [ebp - 0x78], xmm0
movups xmmword [ebp - 0x68], xmm1
jmp 0x100c7e80
xor byte [ebp + eax - 0x98], 0x84
inc eax
cmp eax, 0x48
jb 0x100c7e80
mov dword [ebp - 0xc], 0xe1ede8e7
xor eax, eax
mov dword [ebp - 8], 0xe0aaf0ea
mov word [ebp - 4], 0xe8e8
mov byte [ebp - 2], 0x84
jmp 0x100c7eb0
xor byte [ebp + eax - 0xc], 0x84
inc eax
cmp eax, 0xb
jb 0x100c7eb0
lea edx, [ebp - 0x98]
lea ecx, [ebp - 0xc]
call fcn.100c53f0
push 0x101e6704
mov dword [0x101e66cc], eax
call fcn.1006d02e
add esp, 4
jmp 0x100c7c79