Function at 0x10008f80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x10055040]
xor eax, ebp
mov dword [ebp - 4], eax
vmovss xmm0, dword [0x1004da30]
mov eax, dword [ebp + 8]
push esi
vxorps xmm1, xmm1, xmm1
push edi
mov edi, dword [0x10057738]
mov ecx, edi
mov dword [ebp - 0x20], eax
vmovss dword [edi], xmm1
vmovss dword [edi + 4], xmm1
vmovss dword [edi + 8], xmm1
vmovss dword [edi + 0xc], xmm0
vmovss dword [edi + 0x10], xmm1
mov word [edi + 0x14], 0
vmovss dword [edi + 0x18], xmm1
vmovss dword [edi + 0x1c], xmm1
vmovss dword [edi + 0x20], xmm1
call fcn.100071e0
test al, al
je 0x10009226
mov ecx, dword [0x10056274]
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0xc], xmm0
vmovss dword [ebp - 0x10], xmm0
vmovss dword [ebp - 0x14], xmm0
test ecx, ecx
jne 0x10009007
xor eax, eax
jmp 0x1000900c
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
lea edx, [ebp - 0x14]
push edx
call eax
mov eax, dword [0x10057734]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x44], eax
cmp esi, eax
je 0x10009226
mov ecx, dword [esi]
test ecx, ecx
je 0x10009059
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10009059
cmp dword [eax + 0x14], 0xf7
jne 0x10009059
push esi
push dword [ebp - 0x20]
mov ecx, edi
call fcn.10008190
test al, al
je 0x100091fd
mov ecx, dword [esi]
test ecx, ecx
je 0x10009093
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10009093
mov eax, dword [eax + 0x14]
cmp eax, 0x58
je 0x10009080
cmp eax, 0x56
je 0x10009080
cmp eax, 0x59
jne 0x10009093
push esi
push dword [ebp - 0x20]
mov ecx, edi
call fcn.10008a60
test al, al
je 0x100091fd
vmovss xmm5, dword [0x1004d8f0]
vmulss xmm0, xmm5, dword [ebp - 0x14]
vmovss xmm3, dword [esi + 0x10]
vmovss xmm4, dword [esi + 0x14]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x30]
mov dword [ebp - 8], eax
vmovss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fsincos
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
fstp dword [edx]
fstp dword [eax]
vmulss xmm0, xmm5, dword [ebp - 0x10]
lea eax, [ebp - 0x24]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x18], eax
vmovss dword [ebp - 8], xmm0
fld dword [ebp - 8]
fsincos
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
fstp dword [edx]
fstp dword [eax]
vmovss xmm0, dword [ebp - 0x30]
vmovss xmm1, dword [ebp - 0x28]
vxorps xmm6, xmm0, xmmword [0x1004dae0]
vmulss xmm7, xmm1, dword [ebp - 0x24]
vmulss xmm2, xmm1, dword [ebp - 0x2c]
lea eax, [ebp - 0x38]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x40]
vmulss xmm0, xmm5, xmm3
mov dword [ebp - 0x18], eax
vmovss dword [ebp - 8], xmm0
fld dword [ebp - 8]
fsincos
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
fstp dword [edx]
fstp dword [eax]
lea eax, [ebp - 0x34]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x3c]
vmulss xmm0, xmm5, xmm4
mov dword [ebp - 0x18], eax
vmovss dword [ebp - 8], xmm0
fld dword [ebp - 8]
fsincos
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
fstp dword [edx]
fstp dword [eax]
vmovss xmm1, dword [ebp - 0x38]
vmulss xmm5, xmm1, dword [ebp - 0x34]
vmulss xmm3, xmm1, dword [ebp - 0x3c]
vmovss xmm0, dword [ebp - 0x40]
vxorps xmm4, xmm0, xmmword [0x1004dae0]
vmulss xmm1, xmm2, xmm3
vmulss xmm0, xmm7, xmm5
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm6, xmm4
vaddss xmm2, xmm1, xmm0
vmulss xmm0, xmm5, xmm5
vmulss xmm1, xmm3, xmm3
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm4, xmm4
vaddss xmm0, xmm1, xmm0
vdivss xmm0, xmm2, xmm0
call fcn.10001900
vmulss xmm0, xmm0, dword [0x1004d9bc]
vmovss dword [ebp - 8], xmm0
fld dword [ebp - 8]
push ecx
fstp dword [esp]
vmovss dword [ebp - 0x18], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
add esp, 4
test ax, ax
jg 0x100091dc
fld dword [ebp - 0x18]
fstp dword [ebp - 8]
vmovss xmm0, dword [ebp - 8]
vucomiss xmm0, xmm0
setp al
cmp al, 1
jne 0x100091e2
vxorps xmm1, xmm1, xmm1
jmp 0x100091e7
vmovss xmm1, dword [ebp - 0x18]
mov eax, dword [0x10057730]
vxorps xmm0, xmm0, xmm0
mov eax, dword [eax]
vcvtsi2ss xmm0, xmm0, dword [eax + 4]
vcomiss xmm1, xmm0
jbe 0x1000921b
add esi, 0x48
cmp esi, dword [ebp - 0x44]
jne 0x10009028
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10042b39
mov esp, ebp
pop ebp
ret 4
push esi
push dword [ebp - 0x20]
mov ecx, edi
call fcn.10007e00
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10042b39
mov esp, ebp
pop ebp
ret 4