Function at 0x100232a0
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 0x100edadb
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xd8
mov eax, dword [0x1010b0b8]
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 0x100234e4
mov esi, pe_nt_image_headers32
nop dword [eax + eax]
sub esp, 8
mov dword [esp + 4], 0x40c90fdb
mov dword [esp], 0
call dword [0x101a8b44]
fstp dword [ebp - 0x54]
movss xmm0, dword [ebp - 0x54]
call fcn.100ec5c0
mov eax, dword [0x101a8b44]
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 0x100233a8
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 0x100233c0
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.10026ae0
sub esi, 1
jne 0x10023310
movaps xmm0, xmmword [0x100ffa80]
mov eax, 0x10
pxor xmm0, xmmword [0x10100670]
mov dword [ebp - 0x70], 0x7c796466
mov dword [ebp - 0x6c], 0x6e67607d
mov dword [ebp - 0x68], 0x6c6c7a29
mov word [ebp - 0x64], 0x7a6d
mov byte [ebp - 0x62], 9
movups xmmword [ebp - 0x80], xmm0
xor byte [ebp + eax - 0x80], 9
inc eax
cmp eax, 0x1f
jb 0x10023400
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 0x10023436
sub ecx, edx
lea eax, [ebp - 0x80]
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.10025bd0
mov dword [ebp - 4], 0
mov eax, dword [edi + 0x64a1c]
cmp eax, dword [edi + 0x64a20]
je 0x10023490
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 0x100234a9
lea ecx, [ebp - 0xa0]
push ecx
push eax
lea ecx, [edi + 0x64a18]
call fcn.100270c0
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x100234e4
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100234da
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10023665
push edx
push ecx
call fcn.100eb980
add esp, 8
cmp byte [0x1012b1b8], 0
je 0x10023c71
cmp dword [0x1012b1ac], 0x1f
jne 0x10023504
movss xmm1, dword [0x10130b8c]
jmp 0x1002350c
movss xmm1, dword [0x10130c48]
mulss xmm1, dword [0x100ff69c]
movss xmm0, dword [0x100ff6a4]
comiss xmm0, xmm1
movss dword [ebp - 0xd0], xmm1
ja 0x10023750
mov ecx, dword [0x1012b1a8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x754]
mov dword [ebp - 0x54], eax
call dword [ebp - 0x54]
test byte [0x1012ae8c], 1
fstp dword [ebp - 0x5c]
jne 0x10023689
cmp dword [0x1012b1ac], 0x28
jne 0x10023689
movaps xmm0, xmmword [0x100ffa80]
mov eax, 0x10
pxor xmm0, xmmword [0x101004a0]
mov dword [ebp - 0x6c], 0x7a79647c
mov dword [ebp - 0x68], 0x7d7c666a
mov byte [ebp - 0x64], 9
movups xmmword [ebp - 0x7c], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0x7c], 9
inc eax
cmp eax, 0x19
jb 0x10023590
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 0x100235c6
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.10025bd0
mov dword [ebp - 4], 1
mov eax, dword [edi + 0x64a1c]
cmp eax, dword [edi + 0x64a20]
je 0x10023626
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x90]
movq qword [eax + 0x10], xmm0
movss xmm0, dword [0x100ff698]
add dword [edi + 0x64a1c], 0x18
comiss xmm0, dword [ebp - 0x5c]
seta al
jmp 0x10023c73
lea ecx, [ebp - 0xa0]
push ecx
push eax
lea ecx, [edi + 0x64a18]
call fcn.100270c0
mov edx, dword [ebp - 0x8c]
cmp edx, 0x10
jb 0x10023675
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002366b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002366b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100eb980
add esp, 8
movss xmm0, dword [0x100ff698]
comiss xmm0, dword [ebp - 0x5c]
seta al
jmp 0x10023c73
mov ecx, dword [0x101a8d08]
mov eax, dword [0x1012b1a8]
add ecx, 0xffffff9d
xor ecx, 0x42c87200
mov eax, dword [ecx + eax]
cmp eax, 9
je 0x100236b8
cmp eax, 0xb
je 0x100236b8
cmp eax, 0x26
je 0x100236b8
mov byte [ebp - 0x4d], 0
cmp eax, 0x28
jne 0x100236bc
mov byte [ebp - 0x4d], 1
mov esi, dword [0x1012b1b0]
test esi, esi
je 0x100237b0
mov ecx, dword [0x101a8c54]
movss xmm0, dword [ebp - 0x5c]
add ecx, 0xffffffca
mov eax, dword [0x1012ae84]
xor ecx, 0x42c871d3
mulss xmm0, dword [0x100ff958]
push ecx
test byte [ecx + eax], 4
movss dword [esp], xmm0
je 0x10023757
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x100ff678]
add esp, 4
cmp byte [ebp - 0x4d], 0
fstp dword [ebp - 0x54]
je 0x10023719
movss xmm0, dword [esi + 0x140]
jmp 0x10023721
movss xmm0, dword [esi + 0x13c]
mulss xmm0, dword [0x100ff958]
push ecx
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x100ff678]
add esp, 4
movss xmm0, dword [ebp - 0x54]
fstp dword [ebp - 0x58]
ucomiss xmm0, dword [ebp - 0x58]
lahf
test ah, 0x44
jp 0x100237b0
mov al, 1
jmp 0x10023c73
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x100ff678]
add esp, 4
cmp byte [ebp - 0x4d], 0
fstp dword [ebp - 0x54]
je 0x10023779
movss xmm0, dword [esi + 0x148]
jmp 0x10023781
movss xmm0, dword [esi + 0x144]
mulss xmm0, dword [0x100ff958]
push ecx
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x100ff678]
add esp, 4
movss xmm0, dword [ebp - 0x54]
fstp dword [ebp - 0x58]
ucomiss xmm0, dword [ebp - 0x58]
lahf
test ah, 0x44
jnp 0x10023750
mov esi, dword [ebx + 0xc]
movss xmm1, dword [esi]
movss xmm2, dword [esi + 4]
mulss xmm1, dword [0x100ff6a0]
mulss xmm2, dword [0x100ff6a0]
movaps xmm0, xmm1
movaps xmm1, xmm2
call fcn.100ec610
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 [0x100ff6a0]
movaps xmmword [ebp - 0xa0], xmm0
movups xmmword [ebp - 0x80], xmm2
movaps xmm0, xmm1
call fcn.100ec5c0
movaps xmm3, xmmword [ebp - 0xa0]
movaps xmm2, xmm0
movups xmm4, xmmword [ebp - 0x30]
mov eax, dword [0x101a8c5c]
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, 0x42c871d5
cmp dword [0x1012b1ac], 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 [0x10100b10]
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 0x10023982
cmp dword [0x101313d0], esi
je 0x1002393d
mov eax, dword [0x10131314]
cmp eax, 0xffffffff
je 0x10023951
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x10140ea0]
jmp 0x10023943
mov al, byte [edi + 0x64a53]
test al, al
je 0x10023951
movss xmm1, dword [0x10131448]
jmp 0x10023959
movss xmm1, dword [0x10130a48]
cmp byte [0x10130b00], 0
mulss xmm0, dword [0x100ff69c]
mulss xmm1, xmm0
movaps xmm0, xmm1
je 0x10023982
cmp dword [0x1012b1b4], 1
jne 0x10023982
mulss xmm0, dword [0x100ff718]
movss xmm7, dword [0x100ff770]
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.1001cdf0
addss xmm0, dword [0x100ff66c]
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.1001cdf0
xorps xmm2, xmm2
movss dword [ebp - 0xa4], xmm0
comiss xmm0, xmm2
jbe 0x10023aea
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 [0x100ff8d0]
fstp dword [ebp - 0xa8]
movss xmm2, dword [ebp - 0xa8]
mulss xmm2, dword [0x100ff76c]
jmp 0x10023b01
comiss xmm1, xmm2
jbe 0x10023af9
movss xmm1, dword [0x100ff9b0]
jmp 0x10023b01
movss xmm1, dword [0x100ff8f0]
mulss xmm1, dword [0x100ff6a0]
movaps xmm0, xmm1
movaps xmm1, xmm2
call fcn.100ec610
movaps xmm5, xmm0
movaps xmm4, xmm5
movaps xmm1, xmm5
shufps xmm4, xmm5, 0xe
shufps xmm1, xmm5, 1
movaps xmm3, xmm4
xorps xmm5, xmmword [0x10100b10]
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.1001cdf0
addss xmm0, dword [0x100ff66c]
movss xmm2, dword [0x100ff770]
lea edx, [ebp - 0x30]
mov eax, dword [0x1012b1b0]
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 [0x1012ae84]
mulss xmm0, xmm1
mov byte [ebp - 0x34], 1
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x30], 0
addss xmm0, dword [0x1012ae90]
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 [0x1012ae94]
addss xmm2, dword [0x1012ae98]
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0x3c], xmm2
call fcn.100d6d80
test al, al
je 0x10023c0e
inc esi
movss xmm6, dword [0x100ff68c]
movss xmm1, dword [ebp - 0xd0]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
comiss xmm0, xmm1
jae 0x10023750
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 0x10023c71
movss xmm6, dword [0x10100b10]
inc ecx
movss xmm7, dword [0x100ff770]
add edi, 0xc
mov dword [ebp - 0x54], ecx
cmp edi, 0xbf4
jle 0x100239a0
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.100eb505
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10