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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ec6cb
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xd8
mov eax, dword [0x101090b8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebx + 8]
lea ecx, [edi + 0x64a5c]
mov dword [ebp - 0xac], eax
mov eax, dword [ecx]
mov dword [ebp - 0xb0], ecx
cmp eax, dword [ecx + 4]
jne 0x10023484
mov esi, 0x100
nop dword [eax + eax]
sub esp, 8
mov dword [esp + 4], 0x40c90fdb
mov dword [esp], 0
call dword [0x101a6b44]
fstp dword [ebp - 0x54]
movss xmm0, dword [ebp - 0x54]
call fcn.100eb1b0
mov eax, dword [0x101a6b44]
movaps xmm1, xmm0
shufps xmm1, xmm0, 1
mov dword [ebp - 0x54], eax
mov dword [esp + 4], 0x3f800000
movups xmmword [ebp - 0xe0], xmm0
mov dword [esp], 0
movups xmmword [ebp - 0x80], xmm1
movss dword [ebp - 0x60], xmm1
movss dword [ebp - 0x5c], xmm0
call dword [ebp - 0x54]
mov eax, dword [edi + 0x64a60]
add esp, 8
fstp dword [ebp - 0x58]
cmp eax, dword [edi + 0x64a64]
je 0x10023348
movups xmm0, xmmword [ebp - 0x80]
movss dword [eax], xmm0
movups xmm0, xmmword [ebp - 0xe0]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x58]
movss dword [eax + 8], xmm0
add eax, 0xc
mov dword [edi + 0x64a60], eax
jmp 0x10023360
lea ecx, [ebp - 0x60]
push ecx
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x58]
push ecx
push eax
lea ecx, [edi + 0x64a5c]
call fcn.10026a50
sub esi, 1
jne 0x100232b0
movaps xmm0, xmmword [0x100fe0d0]
mov eax, 0x10
pxor xmm0, xmmword [0x100fe470]
mov dword [ebp - 0x70], 0x5e5b4644
mov dword [ebp - 0x6c], 0x4c45425f
mov dword [ebp - 0x68], 0x4e4e580b
mov word [ebp - 0x64], 0x584f
mov byte [ebp - 0x62], 0x2b
movups xmmword [ebp - 0x80], xmm0
xor byte [ebp + eax - 0x80], 0x2b
inc eax
cmp eax, 0x1f
jb 0x100233a0
lea ecx, [ebp - 0x80]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100233d6
sub ecx, edx
lea eax, [ebp - 0x80]
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.10025b70
mov dword [ebp - 4], 0
mov eax, dword [edi + 0x64a1c]
cmp eax, dword [edi + 0x64a20]
je 0x10023430
movups xmm0, xmmword [ebp - 0xa0]
mov edx, 0xf
mov byte [ebp - 0xa0], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x90]
movq qword [eax + 0x10], xmm0
add dword [edi + 0x64a1c], 0x18
jmp 0x10023449
lea ecx, [ebp - 0xa0]
push ecx
push eax
lea ecx, [edi + 0x64a18]
call fcn.10027030
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x10023484
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002347a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10023605
push edx
push ecx
call fcn.100ea570
add esp, 8
cmp byte [0x101291b8], 0
je 0x10023c11
cmp dword [0x101291ac], 0x1f
jne 0x100234a4
movss xmm1, dword [0x1012eb8c]
jmp 0x100234ac
movss xmm1, dword [0x1012ec48]
mulss xmm1, dword [0x100fd6a4]
movss xmm0, dword [0x100fd6ac]
comiss xmm0, xmm1
movss dword [ebp - 0xd0], xmm1
ja 0x100236f0
mov ecx, dword [0x101291a8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x754]
mov dword [ebp - 0x54], eax
call dword [ebp - 0x54]
test byte [0x10128e8c], 1
fstp dword [ebp - 0x5c]
jne 0x10023629
cmp dword [0x101291ac], 0x28
jne 0x10023629
movaps xmm0, xmmword [0x100fe0d0]
mov eax, 0x10
pxor xmm0, xmmword [0x100fe230]
mov dword [ebp - 0x6c], 0x585b465e
mov dword [ebp - 0x68], 0x5f5e4448
mov byte [ebp - 0x64], 0x2b
movups xmmword [ebp - 0x7c], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0x7c], 0x2b
inc eax
cmp eax, 0x19
jb 0x10023530
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023566
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.10025b70
mov dword [ebp - 4], 1
mov eax, dword [edi + 0x64a1c]
cmp eax, dword [edi + 0x64a20]
je 0x100235c6
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x90]
movq qword [eax + 0x10], xmm0
movss xmm0, dword [0x100fd6a0]
add dword [edi + 0x64a1c], 0x18
comiss xmm0, dword [ebp - 0x5c]
seta al
jmp 0x10023c13
lea ecx, [ebp - 0xa0]
push ecx
push eax
lea ecx, [edi + 0x64a18]
call fcn.10027030
mov edx, dword [ebp - 0x8c]
cmp edx, 0x10
jb 0x10023615
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002360b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002360b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100ea570
add esp, 8
movss xmm0, dword [0x100fd6a0]
comiss xmm0, dword [ebp - 0x5c]
seta al
jmp 0x10023c13
mov ecx, dword [0x101a6d08]
mov eax, dword [0x101291a8]
add ecx, 0xffffff9d
xor ecx, 0x2a974bfc
mov eax, dword [ecx + eax]
cmp eax, 9
je 0x10023658
cmp eax, 0xb
je 0x10023658
cmp eax, 0x26
je 0x10023658
mov byte [ebp - 0x4d], 0
cmp eax, 0x28
jne 0x1002365c
mov byte [ebp - 0x4d], 1
mov esi, dword [0x101291b0]
test esi, esi
je 0x10023750
mov ecx, dword [0x101a6c54]
movss xmm0, dword [ebp - 0x5c]
add ecx, 0xffffffca
mov eax, dword [0x10128e84]
xor ecx, 0x2a974bcf
mulss xmm0, dword [0x100fd960]
push ecx
test byte [ecx + eax], 4
movss dword [esp], xmm0
je 0x100236f7
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x100fd680]
add esp, 4
cmp byte [ebp - 0x4d], 0
fstp dword [ebp - 0x54]
je 0x100236b9
movss xmm0, dword [esi + 0x140]
jmp 0x100236c1
movss xmm0, dword [esi + 0x13c]
mulss xmm0, dword [0x100fd960]
push ecx
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x100fd680]
add esp, 4
movss xmm0, dword [ebp - 0x54]
fstp dword [ebp - 0x58]
ucomiss xmm0, dword [ebp - 0x58]
lahf
test ah, 0x44
jp 0x10023750
mov al, 1
jmp 0x10023c13
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x100fd680]
add esp, 4
cmp byte [ebp - 0x4d], 0
fstp dword [ebp - 0x54]
je 0x10023719
movss xmm0, dword [esi + 0x148]
jmp 0x10023721
movss xmm0, dword [esi + 0x144]
mulss xmm0, dword [0x100fd960]
push ecx
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x100fd680]
add esp, 4
movss xmm0, dword [ebp - 0x54]
fstp dword [ebp - 0x58]
ucomiss xmm0, dword [ebp - 0x58]
lahf
test ah, 0x44
jnp 0x100236f0
mov esi, dword [ebx + 0xc]
movss xmm1, dword [esi]
movss xmm2, dword [esi + 4]
mulss xmm1, dword [0x100fd6a8]
mulss xmm2, dword [0x100fd6a8]
movaps xmm0, xmm1
movaps xmm1, xmm2
call fcn.100eb200
movaps xmm2, xmm0
shufps xmm0, xmm2, 1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xe
movups xmmword [ebp - 0x30], xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 1
movups xmmword [ebp - 0xe0], xmm1
movss xmm1, dword [esi + 8]
mulss xmm1, dword [0x100fd6a8]
movaps xmmword [ebp - 0xa0], xmm0
movups xmmword [ebp - 0x80], xmm2
movaps xmm0, xmm1
call fcn.100eb1b0
movaps xmm3, xmmword [ebp - 0xa0]
movaps xmm2, xmm0
movups xmm4, xmmword [ebp - 0x30]
mov eax, dword [0x101a6c5c]
xor esi, esi
movups xmm5, xmmword [ebp - 0xe0]
mov ecx, dword [ebp - 0xac]
add eax, 0xffffffc8
movaps xmm0, xmm3
movaps xmm1, xmm2
mulss xmm1, dword [ebp - 0x80]
movaps xmm7, xmm2
xor eax, 0x2a974bd1
cmp dword [0x101291ac], 0x1f
mulss xmm0, xmm4
shufps xmm7, xmm2, 1
movaps xmm6, xmm7
movss dword [ebp - 0xb8], xmm0
movaps xmm0, xmm5
mulss xmm0, xmm4
mulss xmm6, xmm5
movss dword [ebp - 0xbc], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
subss xmm6, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm3
movss dword [ebp - 0xb4], xmm6
movss xmm6, dword [0x100feb10]
xorps xmm0, xmm6
movss dword [ebp - 0x58], xmm0
movaps xmm0, xmm5
mulss xmm0, xmm1
movss xmm1, dword [ebp - 0x58]
subss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm4
movss dword [ebp - 0x58], xmm1
movaps xmm1, xmm7
mulss xmm1, dword [ebp - 0x80]
movss dword [ebp - 0xc0], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
movss dword [ebp - 0x60], xmm0
movaps xmm0, xmm2
movss xmm4, dword [ebp - 0x60]
mulss xmm0, xmm5
mulss xmm5, xmm1
addss xmm4, xmm0
mulss xmm2, xmm3
movd xmm0, dword [eax + ecx]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x60], xmm4
subss xmm5, xmm2
movups xmm4, xmmword [ebp - 0x30]
mulss xmm7, xmm4
movups xmmword [ebp - 0xe0], xmm5
movups xmmword [ebp - 0xa0], xmm7
je 0x10023922
cmp dword [0x1012f3d0], esi
je 0x100238dd
mov eax, dword [0x1012f314]
cmp eax, 0xffffffff
je 0x100238f1
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x1013eea0]
jmp 0x100238e3
mov al, byte [edi + 0x64a53]
test al, al
je 0x100238f1
movss xmm1, dword [0x1012f448]
jmp 0x100238f9
movss xmm1, dword [0x1012ea48]
cmp byte [0x1012eb00], 0
mulss xmm0, dword [0x100fd6a4]
mulss xmm1, xmm0
movaps xmm0, xmm1
je 0x10023922
cmp dword [0x101291b4], 1
jne 0x10023922
mulss xmm0, dword [0x100fd720]
movss xmm7, dword [0x100fd778]
xor edi, edi
maxss xmm0, xmm7
mov dword [ebp - 0x54], esi
movss dword [ebp - 0xcc], xmm0
nop dword [eax + eax]
mov eax, dword [ebp - 0xb0]
movss xmm2, dword [ebp - 0x5c]
movss xmm5, dword [ebp - 0xb4]
movss xmm0, dword [ebp - 0x60]
mov eax, dword [eax]
movss xmm4, dword [ebp - 0x58]
movss xmm3, dword [ebp - 0xa0]
mulss xmm2, dword [eax + edi + 8]
movaps xmm1, xmm2
mulss xmm2, dword [eax + edi + 4]
mulss xmm1, dword [eax + edi]
mulss xmm0, xmm2
mulss xmm5, xmm1
mulss xmm4, xmm1
addss xmm5, dword [ebp - 0xb8]
mulss xmm3, xmm2
addss xmm4, dword [ebp - 0xbc]
addss xmm5, xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, xmm2
addss xmm4, xmm0
movss xmm0, dword [ebp - 0xc0]
mulss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm0, dword [ebp - 0x80]
subss xmm3, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm0, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm1
call fcn.1001cc90
addss xmm0, dword [0x100fd674]
movaps xmm1, xmm7
divss xmm1, xmm0
mulss xmm4, xmm1
mulss xmm5, xmm1
movss dword [ebp - 0xc8], xmm4
mulss xmm4, xmm4
movss dword [ebp - 0xa8], xmm5
mulss xmm5, xmm5
mulss xmm1, xmm3
addss xmm4, xmm5
movaps xmm0, xmm4
call fcn.1001cc90
xorps xmm2, xmm2
movss dword [ebp - 0xa4], xmm0
comiss xmm0, xmm2
jbe 0x10023a8a
xorps xmm1, xmm6
movss dword [ebp - 0xc4], xmm1
fld dword [ebp - 0xc4]
fld dword [ebp - 0xa4]
fpatan
fstp dword [ebp - 0xa4]
fld dword [ebp - 0xc8]
fld dword [ebp - 0xa8]
fpatan
movss xmm1, dword [ebp - 0xa4]
mulss xmm1, dword [0x100fd8d8]
fstp dword [ebp - 0xa8]
movss xmm2, dword [ebp - 0xa8]
mulss xmm2, dword [0x100fd774]
jmp 0x10023aa1
comiss xmm1, xmm2
jbe 0x10023a99
movss xmm1, dword [0x100fd9b8]
jmp 0x10023aa1
movss xmm1, dword [0x100fd8f8]
mulss xmm1, dword [0x100fd6a8]
movaps xmm0, xmm1
movaps xmm1, xmm2
call fcn.100eb200
movaps xmm5, xmm0
movaps xmm4, xmm5
movaps xmm1, xmm5
shufps xmm4, xmm5, 0xe
shufps xmm1, xmm5, 1
movaps xmm3, xmm4
xorps xmm5, xmmword [0x100feb10]
shufps xmm3, xmm4, 1
mulss xmm4, xmm1
mulss xmm3, xmm1
movaps xmm0, xmm4
mulss xmm0, xmm4
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm0, xmm1
call fcn.1001cc90
addss xmm0, dword [0x100fd674]
movss xmm2, dword [0x100fd778]
lea edx, [ebp - 0x30]
mov eax, dword [0x101291b0]
lea ecx, [ebp - 0x4c]
divss xmm2, xmm0
movss xmm1, dword [eax + 0x104]
movss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm3
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x48], eax
mov eax, dword [0x10128e84]
mulss xmm0, xmm1
mov byte [ebp - 0x34], 1
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x30], 0
addss xmm0, dword [0x10128e90]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xffffffff
mov byte [ebp - 0x24], 0
movss dword [ebp - 0x44], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm4
mulss xmm2, xmm5
mulss xmm0, xmm1
mulss xmm2, xmm1
addss xmm0, dword [0x10128e94]
addss xmm2, dword [0x10128e98]
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0x3c], xmm2
call fcn.100d5760
test al, al
je 0x10023bae
inc esi
movss xmm6, dword [0x100fd694]
movss xmm1, dword [ebp - 0xd0]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
comiss xmm0, xmm1
jae 0x100236f0
mov ecx, dword [ebp - 0x54]
mov eax, esi
sub eax, ecx
add eax, 0xff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
comiss xmm1, xmm0
ja 0x10023c11
movss xmm6, dword [0x100feb10]
inc ecx
movss xmm7, dword [0x100fd778]
add edi, 0xc
mov dword [ebp - 0x54], ecx
cmp edi, 0xbf4
jle 0x10023940
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100ea0f5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10