Function at 0x1000a7b0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
cmp byte [0x10286d58], 0
push esi
jne 0x1000a979
mov ecx, dword [0x10286d64]
movss xmm1, dword [0x102204f0]
mov dword [ebp - 4], 0xff66cc33
mov eax, dword [ecx + 0x3e78]
mov byte [eax + 0xac], 1
movsx eax, word [0x10230038]
mov ecx, dword [ecx + 0x3e78]
sub eax, 0xf0
movd xmm0, eax
movsx eax, word [0x1023003a]
cvtdq2pd xmm0, xmm0
movss xmm2, dword [ecx + 0x18]
mulsd xmm0, qword [0x10220518]
subss xmm2, dword [ecx + 0x7c]
cvtpd2ps xmm3, xmm0
movss xmm0, dword [ecx + 0x14]
subss xmm0, dword [ecx + 0x78]
mov byte [ecx + 0x131], 1
addss xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movss dword [ecx + 0xf0], xmm3
mulsd xmm0, qword [0x10220518]
cvtpd2ps xmm0, xmm0
addss xmm2, xmm0
movss dword [ecx + 0xf4], xmm2
mov ecx, 0x15
call fcn.100125f0
movss xmm0, dword [0x10286d5c]
push str.buffer_bar
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], 0x43700000
mov dword [ebp - 0x10], 0x40e00000
movss dword [ebp - 0xc], xmm0
call dword [sym.imp.VMProtectSDK32.dll_VMProtectDecryptStringA]
movss xmm1, dword [ebp - 0xc]
lea ecx, [ebp - 4]
push ecx
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x14]
mov ecx, eax
call fcn.1000ab00
movss xmm1, dword [0x10286d5c]
add esp, 8
movss xmm0, dword [0x102204f0]
comiss xmm0, xmm1
jb 0x1000a8d3
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x102204f8]
cvtpd2ps xmm1, xmm0
movss dword [0x10286d5c], xmm1
comiss xmm1, dword [0x1022048c]
jb 0x1000aaf5
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1027ce78]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10286e24]
cmp eax, dword [ecx + 4]
jle 0x1000a934
push 0x10286e24
call fcn.1009f39a
add esp, 4
cmp dword [0x10286e24], 0xffffffff
jne 0x1000a934
push 0
push 0
push 0
push 0x10008f60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x10286e24
call fcn.1009f349
add esp, 4
mov edx, dword [0x1027bdb0]
test edx, edx
je 0x1000aaf5
mov ecx, 0x1027bd00
mov byte [0x10286d58], 1
cmp ecx, 0x1027bda0
je 0x1000aaf5
cmp dword [0x1027bdb4], 0xf
mov eax, 0x1027bda0
push edx
cmova eax, dword [0x1027bda0]
push eax
call fcn.100041a0
pop esi
mov esp, ebp
pop ebp
ret
movsx eax, word [0x10230038]
mov esi, dword [0x10286d64]
movss xmm4, dword [0x102204b0]
movd xmm2, eax
movsx eax, word [0x1023003a]
cvtdq2ps xmm2, xmm2
movd xmm3, eax
mov eax, dword [esi + 0x3e78]
cvtdq2ps xmm3, xmm3
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e78]
mulss xmm2, xmm4
mulss xmm3, xmm4
movss xmm1, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
subss xmm1, dword [eax + 0x78]
subss xmm0, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
movss dword [ebp - 0xc], xmm2
movss dword [ebp - 8], xmm3
addss xmm1, xmm2
addss xmm0, xmm3
movss dword [eax + 0xf0], xmm1
movss dword [eax + 0xf4], xmm0
mov eax, 0x1027bd00
cmp dword [0x1027bd14], 0xf
movss xmm1, dword [esi + 0x3be0]
cmova eax, dword [0x1027bd00]
test eax, eax
jne 0x1000aa1f
xorps xmm0, xmm0
jmp 0x1000aa74
movss xmm3, dword [0x102205a0]
movaps xmm2, xmm1
push ecx
push 0
push eax
push ecx
mov ecx, dword [esi + 0x3bdc]
lea eax, [ebp - 0x14]
mov dword [esp], 0xbf800000
push eax
call fcn.10037530
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [0x102204e8]
movss xmm1, dword [ebp - 0x10]
movss xmm2, dword [ebp - 0xc]
movss xmm3, dword [ebp - 8]
movss xmm4, dword [0x102204b0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [esi + 0x3e78]
mulss xmm0, xmm4
mulss xmm1, xmm4
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e78]
subss xmm2, xmm0
subss xmm3, xmm1
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x78]
addss xmm2, xmm0
movss xmm0, dword [eax + 0x18]
subss xmm0, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
movss dword [eax + 0xf0], xmm2
addss xmm0, xmm3
movss dword [eax + 0xf4], xmm0
mov eax, 0x1027bd00
cmp dword [0x1027bd14], 0xf
movaps xmm0, xmmword [0x102206c0]
cmova eax, dword [0x1027bd00]
push eax
lea eax, [ebp - 0x1c]
push eax
movups xmmword [ebp - 0x1c], xmm0
call fcn.100399d0
add esp, 8
pop esi
mov esp, ebp
pop ebp
ret