Function at 0x1002e110
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xf4
mov eax, dword [0x10077008]
xor eax, esp
mov dword [esp + 0xf0], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
mov edx, dword [eax]
mov edx, dword [edx + 0x20]
call edx
test al, al
jne 0x1002e655
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, edi
mov esi, dword [eax + 8]
call fcn.10029870
movss xmm2, dword [0x10070f84]
movss xmm4, dword [eax]
comiss xmm4, xmm2
movss xmm3, dword [eax + 4]
movss xmm1, dword [eax + 8]
movss dword [esp + 0x78], xmm4
movss dword [esp + 0x7c], xmm3
movss dword [esp + 0x80], xmm1
jbe 0x1002e1b8
movss xmm0, dword [0x10070dbc]
comiss xmm0, xmm4
jbe 0x1002e1b8
comiss xmm3, xmm2
jbe 0x1002e1b8
comiss xmm0, xmm3
jbe 0x1002e1b8
comiss xmm1, xmm2
jbe 0x1002e1b8
comiss xmm0, xmm1
ja 0x1002e655
mov al, 7
mov byte [esp + 0x6c], 0x44
mov byte [esp + 0x1a], al
mov cl, 0x14
xor al, byte [esp + 0x6c]
mov ah, 0x2a
xor cl, byte [esp + 0x6c]
mov dl, 0x28
mov byte [esp + 0x6d], al
mov bl, 0x25
mov al, byte [esp + 0x1a]
mov ch, 0x30
mov byte [esp + 0x6e], cl
mov dh, 0x21
mov cl, byte [esp + 0x6c]
mov bh, 0x20
xor al, cl
mov byte [esp + 0x1b], 0x70
mov byte [esp + 0x75], al
xor ah, cl
mov al, byte [esp + 0x1b]
xor dl, cl
xor bl, cl
mov byte [esp + 0x77], 0
xor ch, cl
mov byte [esp + 0x71], ah
xor dh, cl
mov byte [esp + 0x6f], dl
xor bh, cl
mov byte [esp + 0x70], bl
xor al, cl
mov byte [esp + 0x72], ch
mov byte [esp + 0x76], al
lea eax, [esp + 0x6d]
mov byte [esp + 0x73], dh
mov byte [esp + 0x74], bh
mov byte [esp + 0x77], 0
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x1002e250
test cl, cl
je 0x1002e24c
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x1002e250
add esi, 2
add eax, 2
test cl, cl
jne 0x1002e230
xor eax, eax
jmp 0x1002e255
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002e655
mov eax, dword [0x10078878]
cmp byte [eax + 0x13], 0
je 0x1002e322
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
call fcn.10064170
test al, al
je 0x1002e322
movss xmm0, dword [esp + 0x70]
mov dh, 0x56
mov cl, 0x76
mov byte [esp + 0x7f], 0
mov ah, cl
mov byte [esp + 0x78], dh
mov al, 0xd
mov byte [esp + 0x7f], 0
xor al, dh
xor ah, dh
mov byte [esp + 0x79], al
mov dl, 0x15
mov byte [esp + 0x7d], ah
mov ch, 0xb
lea eax, [esp + 0x79]
mov bl, 0x62
push eax
push 0x10077210
push 0
sub esp, 8
xor cl, dh
xor dl, dh
mov byte [esp + 0x8e], cl
xor bl, dh
mov byte [esp + 0x8f], dl
xor ch, dh
mov byte [esp + 0x90], bl
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x80]
movss dword [esp], xmm0
push dword [0x100771fc]
mov byte [esp + 0x96], ch
push dword [0x1007c10c]
call fcn.10061220
add esp, 0x1c
mov eax, dword [0x10078870]
cmp byte [eax + 8], 0
je 0x1002e655
call fcn.1005f100
mov ecx, edi
mov esi, eax
call fcn.10029870
lea ecx, [esp + 0x38]
movss xmm1, dword [eax + 8]
movss xmm2, dword [eax]
movaps xmm0, xmm1
addss xmm0, dword [0x10070ef4]
movss xmm3, dword [eax + 4]
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x78], xmm3
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x28], xmm0
subss xmm0, dword [0x10070f1c]
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x24], xmm3
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0x30], xmm3
movss dword [esp + 0x34], xmm0
mov dword [esp + 0x6c], vtable.CTraceFilterSimple.0
mov dword [esp + 0x70], edi
call fcn.10004150
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10002c20
lea ecx, [esp + 0xa0]
call fcn.10004100
mov ecx, dword [0x10078a68]
lea edx, [esp + 0xa0]
push edx
lea edx, [esp + 0x70]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x40]
push 0x200400b
push edx
mov eax, dword [eax + 0x10]
call eax
movss xmm0, dword [esp + 0xcc]
movss xmm4, dword [0x10070e90]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x1002e468
movss xmm0, dword [0x10070e64]
movss xmm3, dword [esp + 0xb8]
movss xmm1, dword [esp + 0xbc]
movss xmm2, dword [esp + 0xc0]
mulss xmm3, xmm0
mulss xmm1, xmm0
mulss xmm2, xmm0
movss xmm0, dword [esp + 0xac]
addss xmm0, xmm3
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0xb0]
addss xmm0, xmm1
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0xb4]
addss xmm0, xmm2
jmp 0x1002e46e
movss xmm0, dword [esp + 0x1c]
addss xmm0, xmm4
mov ecx, esi
lea eax, [esp + 0x20]
push eax
movss dword [esp + 0x20], xmm0
call fcn.10060030
movss xmm0, dword [esp + 0x20]
mov ecx, esi
subss xmm0, dword [esp + 0x14]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x24]
subss xmm0, dword [esp + 0x78]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0x28]
subss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x1c], xmm0
call fcn.1005fce0
movss xmm1, dword [esp + 0x78]
movss xmm0, dword [esp + 0x14]
mulss xmm0, xmm0
mov esi, dword [eax]
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm0
addss xmm0, xmm1
call fcn.10002bd0
mulss xmm0, dword [0x10070e44]
movss xmm2, dword [0x10070f6c]
subss xmm2, xmm0
movss dword [esp + 0x14], xmm2
test esi, esi
jle 0x1002e546
movaps xmm3, xmm2
movd xmm4, esi
mulss xmm3, dword [0x10070e5c]
movaps xmm0, xmm2
cvtdq2ps xmm4, xmm4
subss xmm0, xmm3
mulss xmm0, dword [0x10070e5c]
comiss xmm0, xmm4
jbe 0x1002e53d
addss xmm4, xmm4
movaps xmm3, xmm2
subss xmm3, xmm4
movaps xmm2, xmm3
movss dword [esp + 0x14], xmm2
xorps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x1002e655
mov ecx, dword [0x10078a9c]
lea edx, [esp + 0x1c]
push edx
lea edx, [esp + 0x7c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
mov eax, dword [esp + 0x78]
movss xmm0, dword [0x10070f30]
movss xmm1, dword [esp + 0x14]
mov ecx, dword [0x10077210]
cdq
sub eax, edx
mov edx, eax
sar edx, 1
comiss xmm0, xmm1
mov dword [esp + 0x78], edx
jbe 0x1002e599
mov ecx, dword [0x10077200]
jmp 0x1002e5ab
movss xmm0, dword [0x10070f10]
comiss xmm0, xmm1
cmova ecx, dword [0x10077204]
movaps xmm0, xmmword [0x100718f0]
mov dword [esp + 0x14], ecx
xor ecx, ecx
movups xmmword [esp + 0x84], xmm0
mov dword [esp + 0x94], 0x3c3d7b72
mov dword [esp + 0x98], 0x2e323947
mov word [esp + 0x9c], 0x417a
mov byte [esp + 0x9e], 0
nop dword [eax + eax]
mov al, byte [esp + 0x84]
xor byte [esp + ecx + 0x85], al
inc ecx
cmp ecx, 0x19
jb 0x1002e5f0
xorps xmm0, xmm0
mov byte [esp + 0x9e], 0
sub esp, 8
lea eax, [esp + 0x8d]
cvtss2sd xmm0, xmm1
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x20]
movd xmm0, edx
push eax
push 4
sub esp, 8
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x40a00000
movss dword [esp], xmm0
push dword [0x100771fc]
push dword [0x1007c10c]
call fcn.10061220
add esp, 0x24
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100671ce
mov esp, ebp
pop ebp
ret