Function at 0x100163b3
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x100ac040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
movss xmm3, dword [0x100ac0b8]
subss xmm3, dword [0x1009ed60]
movss xmm1, dword [0x104145c0]
mov edx, 4
movaps xmm2, xmm1
mov dword [ebp - 0x14], 0x41a00000
mov eax, dword [esi + 8]
subss xmm1, dword [0x1009ec58]
subss xmm3, dword [0x1009ed48]
push edi
mov ecx, dword [eax]
shl ecx, 4
sub ecx, dword [eax]
mulss xmm3, dword [0x1009ec28]
add ecx, 0x10
mov edi, dword [esi]
push dword [ebp - 0x14]
movss dword [ebp - 0x20], xmm1
subss xmm3, dword [0x1009ed10]
movd xmm0, ecx
mov ecx, edx
cvtdq2ps xmm0, xmm0
mov dword [ebp - 8], 0xff0a0a0a
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x24], 0x41900000
movss dword [ebp - 0x48], xmm3
mulss xmm0, dword [0x104145c8]
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x44], xmm0
xorps xmm0, xmm0
addss xmm2, xmm0
movss xmm0, dword [0x104145c4]
movss dword [ebp - 0x30], xmm2
movaps xmm2, xmm0
addss xmm2, dword [0x1009ed08]
subss xmm0, dword [0x1009ec58]
movss dword [ebp - 0x2c], xmm2
movaps xmm2, xmm3
addss xmm2, dword [0x1009ec98]
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x18], xmm2
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 8]
call fcn.1008bff0
movss xmm0, dword [0x104145c0]
add esp, 0x14
movss dword [ebp - 0x20], xmm0
mov edx, 4
movss xmm0, dword [0x104145c4]
mov ecx, edx
movss dword [ebp - 0x1c], xmm0
push dword [ebp - 0x24]
mov dword [ebp - 8], 0xff373737
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 8]
call fcn.1008bff0
movss xmm0, dword [ebp - 0x48]
add esp, 0x14
subss xmm0, dword [0x1009ec98]
movss xmm1, dword [0x104145c0]
mov edx, 4
addss xmm1, dword [0x1009ec58]
mov dword [ebp - 0x1c], 0x41800000
push dword [ebp - 0x1c]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [0x104145c4]
addss xmm0, dword [0x1009ec58]
push dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm1
mov dword [ebp - 8], 0xff0a0a0a
movss dword [ebp - 0x24], xmm0
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 8]
mov ecx, edx
call fcn.1008bc90
movss xmm1, dword [0x104145c0]
xorps xmm0, xmm0
mov ecx, dword [0x104145b0]
subss xmm1, xmm0
movss xmm0, dword [0x104145c4]
add esp, 0x14
subss xmm0, dword [0x1009ece0]
mov dword [ebp - 8], 0xffffffff
push dword [esi + 0x10]
cvttss2si edx, xmm1
push 0
push dword [ebp - 8]
cvttss2si eax, xmm0
push eax
call fcn.1008c9f0
mov eax, dword [ebp - 0x4c]
movss xmm0, dword [0x104145c4]
mov ecx, dword [edi]
movss xmm1, dword [0x104145c0]
mov eax, dword [eax + 4]
addss xmm0, dword [0x1009ec98]
addss xmm1, dword [0x1009ecc8]
mov dword [ebp - 8], 0xffffffff
push dword [eax + ecx*8 + 4]
mov ecx, dword [0x104145b0]
cvttss2si eax, xmm0
push 0
push dword [ebp - 8]
cvttss2si edx, xmm1
push eax
call fcn.1008c9f0
cvttss2si eax, dword [ebp - 0x44]
mov esi, dword [0x104144ac]
add esp, 0x20
mov edx, dword [esi]
mov byte [esi + 0x280], 1
cvttss2si edi, dword [ebp - 0x2c]
inc eax
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [0x1009ec58]
add eax, edi
push eax
cvttss2si eax, dword [ebp - 0x18]
cvttss2si ecx, xmm0
inc eax
movss dword [ebp - 0x24], xmm0
add eax, ecx
push eax
mov eax, dword [edx + 0x24c]
push edi
push ecx
mov ecx, esi
call eax
movss xmm0, dword [ebp - 0x44]
mov edx, 4
addss xmm0, dword [0x1009ec98]
movss xmm1, dword [ebp - 0x18]
mov ecx, edx
movss dword [ebp - 0x18], xmm1
movss xmm1, dword [ebp - 0x24]
mov byte [esi + 0x280], 0
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [0x1009ec58]
push dword [ebp - 0x14]
movss dword [ebp - 0x28], xmm1
push dword [ebp - 0x18]
mov word [ebp - 8], 0xa0a
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [0x104145c8]
mulss xmm0, dword [0x1009eda4]
mov byte [ebp - 6], 0xa
push dword [ebp - 0x24]
push dword [ebp - 0x28]
cvttss2si eax, xmm0
mov byte [ebp - 5], al
push dword [ebp - 8]
call fcn.1008bff0
add esp, 0x14
movss xmm0, dword [ebp - 0x30]
mov edx, 4
push dword [ebp - 0x44]
movss dword [ebp - 0x18], xmm0
mov ecx, edx
movss xmm0, dword [ebp - 0x2c]
push dword [ebp - 0x48]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [0x104145c8]
mulss xmm0, dword [0x1009eda4]
mov word [ebp - 8], 0x3737
push dword [ebp - 0x14]
mov byte [ebp - 6], 0x37
push dword [ebp - 0x18]
cvttss2si eax, xmm0
mov byte [ebp - 5], al
push dword [ebp - 8]
call fcn.1008bff0
movss xmm0, dword [ebp - 0x20]
add esp, 0x14
movss xmm1, dword [ebp - 0x44]
mov edx, 4
subss xmm1, dword [0x1009ec98]
movss dword [ebp - 0x18], xmm0
mov ecx, edx
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [0x1009ec58]
mov word [ebp - 8], 0xa0a
movss dword [ebp - 0x14], xmm1
push dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x30]
addss xmm1, dword [0x1009ec58]
push dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [0x104145c8]
mulss xmm0, dword [0x1009eda4]
mov byte [ebp - 6], 0xa
push dword [ebp - 0x1c]
movss dword [ebp - 0x20], xmm1
push dword [ebp - 0x20]
cvttss2si eax, xmm0
mov byte [ebp - 5], al
push dword [ebp - 8]
call fcn.1008bc90
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
add esp, 0x14
mov dword [ebp - 8], ecx
cmp dword [eax], ecx
jle 0x100168c3
movss xmm0, dword [ebp - 0x30]
lea edi, [ecx + 8]
addss xmm0, dword [0x1009ecc8]
cvttss2si edx, xmm0
movss dword [ebp - 0x30], xmm0
mov dword [ebp - 0x14], edx
nop word [eax + eax]
mov eax, dword [eax + 4]
movss xmm3, dword [0x10414590]
comiss xmm3, xmm0
lea esi, [eax + ecx*8]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x1c], xmm1
addss xmm1, dword [ebp - 0x2c]
jbe 0x100167ec
movss xmm2, dword [0x10414594]
comiss xmm2, xmm1
jbe 0x100167ec
addss xmm0, dword [ebp - 0x48]
comiss xmm0, xmm3
jbe 0x100167ec
addss xmm1, dword [0x1009ecdc]
comiss xmm1, xmm2
jbe 0x100167ec
mov al, 1
jmp 0x100167ee
xor al, al
mov edx, dword [ebp - 0x50]
mov byte [ebp - 9], al
cmp dword [edx], ecx
jne 0x10016815
test cl, 1
je 0x10016809
mov dword [ebp - 0x34], 0xfffc8bb6
mov eax, dword [ebp - 0x34]
jmp 0x1001682f
mov dword [ebp - 0x38], 0xffff9b73
mov eax, dword [ebp - 0x38]
jmp 0x1001682f
test al, al
je 0x10016825
mov dword [ebp - 0x3c], 0xff787878
mov eax, dword [ebp - 0x3c]
jmp 0x1001682f
mov dword [ebp - 0x40], 0xff323232
mov eax, dword [ebp - 0x40]
push eax
push esi
call fcn.10022860
movss xmm0, dword [0x104145c8]
mulss xmm0, dword [0x1009eda4]
mov eax, dword [esi]
push dword [esi + 4]
mov edx, dword [ebp - 0x14]
mov ecx, dword [0x104145b0]
mov dword [ebp - 0x24], eax
cvttss2si eax, xmm0
push 0
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [ebp - 0x2c]
mov byte [ebp - 0x21], al
push dword [ebp - 0x24]
cvttss2si eax, xmm0
push eax
call fcn.1008c9f0
mov ecx, dword [ebp - 8]
add esp, 0x18
cmp byte [ebp - 9], 0
je 0x100168ac
cmp byte [0x10421ac1], 0
je 0x100168ac
cmp byte [0x10421bc1], 0
jne 0x100168ac
cmp byte [0x104145cc], 0
jne 0x100168ac
cmp byte [0x104145cd], 0
jne 0x100168ac
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
inc ecx
movss xmm0, dword [ebp - 0x30]
add edi, 0xf
mov dword [ebp - 8], ecx
cmp ecx, dword [eax]
jl 0x100167a0
cvttss2si ecx, dword [0x10416ef0]
mov esi, dword [0x104144ac]
mov edx, dword [esi]
cvttss2si eax, dword [0x10416ef4]
mov byte [esi + 0x280], 1
inc eax
push eax
lea eax, [ecx + 1]
mov ecx, esi
push eax
mov eax, dword [edx + 0x24c]
push 0
push 0
call eax
cmp byte [0x10421ac1], 0
mov byte [esi + 0x280], 0
je 0x10016921
cmp byte [0x10421bc1], 0
jne 0x10016921
cmp byte [0x104145cc], 0
jne 0x10016921
mov word [0x104145cc], 0x101
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1008d728
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret