Function at 0x10008f50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x10054040]
xor eax, ebp
mov dword [ebp - 4], eax
vmovss xmm0, dword [0x1004c9d8]
mov eax, dword [ebp + 8]
push esi
vxorps xmm1, xmm1, xmm1
push edi
mov edi, dword [0x10056738]
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.100071b0
test al, al
je 0x100091f6
mov ecx, dword [0x10055274]
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0xc], xmm0
vmovss dword [ebp - 0x10], xmm0
vmovss dword [ebp - 0x14], xmm0
test ecx, ecx
jne 0x10008fd7
xor eax, eax
jmp 0x10008fdc
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
lea edx, [ebp - 0x14]
push edx
call eax
mov eax, dword [0x10056734]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x44], eax
cmp esi, eax
je 0x100091f6
mov ecx, dword [esi]
test ecx, ecx
je 0x10009029
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10009029
cmp dword [eax + 0x14], 0xf7
jne 0x10009029
push esi
push dword [ebp - 0x20]
mov ecx, edi
call fcn.10008160
test al, al
je 0x100091cd
mov ecx, dword [esi]
test ecx, ecx
je 0x10009063
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10009063
mov eax, dword [eax + 0x14]
cmp eax, 0x58
je 0x10009050
cmp eax, 0x56
je 0x10009050
cmp eax, 0x59
jne 0x10009063
push esi
push dword [ebp - 0x20]
mov ecx, edi
call fcn.10008a30
test al, al
je 0x100091cd
vmovss xmm5, dword [0x1004c898]
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 [0x1004ca90]
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 [0x1004ca90]
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.100018c0
vmulss xmm0, xmm0, dword [0x1004c964]
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 0x100091ac
fld dword [ebp - 0x18]
fstp dword [ebp - 8]
vmovss xmm0, dword [ebp - 8]
vucomiss xmm0, xmm0
setp al
cmp al, 1
jne 0x100091b2
vxorps xmm1, xmm1, xmm1
jmp 0x100091b7
vmovss xmm1, dword [ebp - 0x18]
mov eax, dword [0x10056730]
vxorps xmm0, xmm0, xmm0
mov eax, dword [eax]
vcvtsi2ss xmm0, xmm0, dword [eax + 4]
vcomiss xmm1, xmm0
jbe 0x100091eb
add esi, 0x48
cmp esi, dword [ebp - 0x44]
jne 0x10008ff8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10042579
mov esp, ebp
pop ebp
ret 4
push esi
push dword [ebp - 0x20]
mov ecx, edi
call fcn.10007dd0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10042579
mov esp, ebp
pop ebp
ret 4