Function at 0x100446a0
Capabilities:
Encode data using xor

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
push 0xffffffffffffffff
push 0x100caac3
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x78
mov eax, dword [0x100ed380]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x101c6f0c]
xor edi, edi
mov ecx, dword [0x101c35c4]
inc eax
mov edx, dword [0x101c35c0]
mov esi, edx
mov dword [ebp - 0x6c], eax
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x68], 8
sar eax, 3
mov dword [ebp - 0x58], 5
mov dword [ebp - 0x4c], edi
test eax, eax
je 0x100449be
sub ecx, esi
sar ecx, 3
cmp edi, ecx
jb 0x1004476c
push str.vector_subscript_out_of_range
push 0x100d5f90
push 0
push 0x762
push 0x100d6358
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x10044747
int3
push 0
push 0x762
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807include_vector
push 0x100d60c4
push str._vector_subscript_out_of_range_
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov edx, dword [0x101c35c0]
add esp, 0x14
mov eax, dword [edx + edi*8 + 4]
test eax, eax
je 0x10044778
lock inc dword [eax + 4]
mov ecx, dword [edx + edi*8]
xorps xmm1, xmm1
mov eax, dword [0x101c346c]
mov edi, dword [edx + edi*8 + 4]
movss xmm0, dword [ecx + 0x20]
subss xmm0, dword [eax + 0x14]
comiss xmm1, xmm0
movss dword [ecx + 0x20], xmm0
jb 0x10044975
mov eax, dword [0x101c35c0]
lea ecx, [ebp - 0x1c]
push 3
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], eax
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [0x101c35bc]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x48], ecx
cmp esi, ecx
je 0x1004485d
test esi, esi
je 0x1004484e
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x100447f9
lea edx, [ebp - 0x64]
cmp eax, edx
je 0x100447f4
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x100447e2
cmp dword [esi], 0
jne 0x10044842
push str.ITERATOR_LIST_CORRUPTED_
push 0x100d5f90
push 0
push 0x536
push 0x100d5f98
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x10044820
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100d60c4
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov ecx, dword [ebp - 0x48]
add esp, 0x14
mov eax, dword [ebp - 0x60]
mov dword [esi], eax
mov dword [ebp - 0x64], 0
mov eax, dword [ecx + 4]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x64]
mov dword [ecx + 4], eax
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea eax, [ebp - 0x64]
mov dword [ebp - 0x28], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0x30]
push eax
movq qword [ebp - 0x30], xmm0
call fcn.1001c430
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x30]
push dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
call fcn.10048290
sub esp, 0xc
lea eax, [ebp - 0x30]
mov esi, esp
mov ecx, esi
push eax
call fcn.1001c430
mov eax, dword [ebp - 0x28]
mov dword [esi + 8], eax
lea eax, [ebp - 0x44]
push eax
call fcn.10047790
push 3
lea ecx, [ebp - 0x18]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x44]
call fcn.1001c4c0
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea ecx, [ebp - 0x18]
call esi
push 3
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x30]
call fcn.1001c4c0
lea ecx, [ebp - 0x20]
call esi
push 3
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x1004496c
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1004491a
lea ecx, [ebp - 0x64]
cmp eax, ecx
je 0x10044915
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x10044903
cmp dword [esi], 0
jne 0x10044960
push str.ITERATOR_LIST_CORRUPTED_
push 0x100d5f90
push 0
push 0x536
push 0x100d5f98
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x10044941
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100d60c4
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x60]
mov dword [esi], eax
mov dword [ebp - 0x64], 0
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
test edi, edi
je 0x1004499a
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x1004499a
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x1004499a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [0x101c35c4]
mov eax, ecx
mov edx, dword [0x101c35c0]
mov esi, edx
mov edi, dword [ebp - 0x4c]
sub eax, esi
inc edi
sar eax, 3
mov dword [ebp - 0x4c], edi
cmp edi, eax
jb 0x10044717
cmp esi, ecx
je 0x10044d68
mov eax, ecx
xor edi, edi
sub eax, esi
mov dword [ebp - 0x4c], edi
sar eax, 3
test eax, eax
je 0x10044d68
nop word [eax + eax]
sub ecx, esi
xorps xmm0, xmm0
sar ecx, 3
movlpd qword [ebp - 0x38], xmm0
cmp edi, ecx
jb 0x10044a3d
push str.vector_subscript_out_of_range
push 0x100d5f90
push 0
push 0x762
push 0x100d6358
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x10044a18
int3
push 0
push 0x762
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807include_vector
push 0x100d60c4
push str._vector_subscript_out_of_range_
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov edx, dword [0x101c35c0]
add esp, 0x14
mov eax, dword [edx + edi*8 + 4]
test eax, eax
je 0x10044a49
lock inc dword [eax + 4]
mov esi, dword [ebp - 0x4c]
mov edi, dword [edx + edi*8]
mov dword [ebp - 0x38], edi
mov esi, dword [edx + esi*8 + 4]
mov dword [ebp - 0x34], esi
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x54], 0x5f5f5f5f
mov byte [ebp - 0x50], 0x7a
nop dword [eax]
xor byte [ebp + ecx - 0x54], 0x7a
inc ecx
cmp ecx, 5
jb 0x10044a70
push ecx
lea eax, [ebp - 0x54]
mov ecx, edi
push eax
call fcn.100360d0
cmp eax, 0xffffffff
je 0x10044af9
mov word [ebp - 0x18], 0x7a5f
xor ecx, ecx
xor byte [ebp + ecx - 0x18], 0x7a
inc ecx
cmp ecx, 2
jb 0x10044a94
push ecx
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.100360d0
mov edi, dword [edi + 0x14]
mov edx, eax
cmp edi, edx
jb 0x10044d86
mov ecx, edi
mov eax, 3
sub ecx, edx
cmp ecx, eax
cmovb eax, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x18], 0xf
lea ecx, [eax + 4]
jbe 0x10044ad7
mov ecx, dword [ecx]
sub edi, dword [ebp - 0x48]
add ecx, edx
mov eax, edi
sub eax, edx
inc eax
push eax
mov eax, dword [ebp - 0x48]
add eax, ecx
push eax
push ecx
call sub.VCRUNTIME140D.dll_memmove
mov eax, dword [ebp - 0x38]
add esp, 0xc
mov dword [eax + 0x14], edi
mov edi, eax
mov eax, dword [edi + 0x1c]
movss xmm1, dword [edi + 0x20]
mov dword [ebp - 0x48], eax
mov eax, dword [0x101c346c]
movss dword [ebp - 0x24], xmm1
movss xmm0, dword [eax + 0x14]
subss xmm0, xmm1
call fcn.10041ce0
push edi
lea eax, [ebp - 0x2c]
movss dword [ebp - 0x20], xmm0
push eax
mov ecx, 0x101c6f04
call fcn.100b3830
push 6
xorps xmm1, xmm1
mov dword [ebp - 0x88], 0
push str._sup_
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x74], 0
movups xmmword [ebp - 0x84], xmm1
mov dword [ebp - 0x70], 0
call fcn.100288d0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x40]
mov ecx, 0x101c6f04
push eax
call fcn.100b3830
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0
call fcn.10028230
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100c75e0
movss xmm3, dword [ebp - 0x24]
add esp, 8
movss xmm0, dword [0x100e09e0]
comiss xmm0, xmm3
jbe 0x10044c2c
xorps xmm1, xmm1
comiss xmm1, xmm3
jbe 0x10044bc6
xorps xmm3, xmm3
jmp 0x10044bca
minss xmm3, xmm0
cmp dword [ebp - 0x4c], 0
addss xmm3, xmm3
movaps xmm0, xmm3
mulss xmm0, dword [0x100e0c28]
cvttss2si eax, xmm0
mov byte [ebp - 0x45], al
jne 0x10044c72
movss xmm0, dword [0x100e0998]
comiss xmm0, xmm3
jbe 0x10044c72
mulss xmm3, dword [0x100e0ad0]
movd xmm0, dword [ebp - 0x6c]
movss xmm1, dword [0x100e0a18]
movd xmm2, dword [ebp - 0x58]
subss xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm0
subss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [ebp - 0x58], eax
jmp 0x10044c72
movss xmm0, dword [ebp - 0x20]
movss xmm2, dword [0x100e0ae4]
comiss xmm0, xmm2
mov byte [ebp - 0x45], 0xff
jbe 0x10044c72
mov eax, dword [ebp - 0x40]
subss xmm3, xmm2
add eax, dword [ebp - 0x2c]
movss xmm0, dword [0x100e0ae8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm3
mulss xmm1, dword [0x100e0acc]
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x68], eax
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x88], 0
push str._sup_
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x74], 0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x70], 0
call fcn.100288d0
push 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 2
push eax
mov dword [ebp - 0x1c], 0xff7a7aff
mov ecx, 0x101c6f04
push dword [ebp - 0x1c]
push dword [ebp - 0x58]
push dword [ebp - 0x68]
call fcn.100b3530
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0
call fcn.10028230
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100c75e0
mov eax, dword [ebp - 0x40]
add esp, 8
add eax, dword [ebp - 0x68]
mov ecx, 0x101c6f04
push 0
push edi
push dword [ebp - 0x48]
mov edi, dword [ebp - 0x58]
push edi
push eax
call fcn.100b3530
add edi, dword [ebp - 0x6c]
mov dword [ebp - 0x58], edi
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x10044d44
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10044d44
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x10044d44
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [0x101c35c4]
mov eax, ecx
mov edx, dword [0x101c35c0]
mov esi, edx
mov edi, dword [ebp - 0x4c]
sub eax, esi
inc edi
sar eax, 3
mov dword [ebp - 0x4c], edi
cmp edi, eax
jb 0x100449e0
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.100c6d50
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10028480
int3