Function at 0x1013f436
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101a5b1a
mov eax, dword fs:[0]
push eax
sub esp, 0x2b8
mov eax, dword [0x102480b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov ecx, 0x1028ab99
mov dword [ebp - 0x2a4], esi
call fcn.10193940
mov dword [ebp - 4], 0
push 8
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
call fcn.10191600
lea ecx, [ebp - 0x80]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x80], eax
mov dword [eax], ecx
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
mov byte [ebp - 0x7c], 0
mov dword [ebp - 4], 1
test esi, esi
je 0x1014066e
cmp dword [0x1025d258], 0
je 0x1014066e
mov eax, dword fs:[0x2c]
mov ecx, dword [0x102486f4]
mov edi, dword [esi + 8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10283cb4]
cmp eax, dword [ecx + 4]
jle 0x1013ea0f
push 0x10283cb4
call fcn.10191490
add esp, 4
cmp dword [0x10283cb4], 0xffffffff
jne 0x1013ea0f
mov edx, 0x990704d7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x27c]
call fcn.1009ed90
push 0xda7d68cb
mov edx, eax
mov ecx, 0x10283cb0
call fcn.1009f300
push 0x101a9280
call fcn.10191e90
push 0x10283cb4
mov byte [ebp - 4], 1
call fcn.10191440
add esp, 0xc
mov eax, dword [0x10283cb0]
call eax
mov esi, eax
mov dword [ebp - 0x18], esi
test edi, edi
je 0x1013ea99
test esi, esi
je 0x1013ea99
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x29c], ecx
test ecx, ecx
je 0x1013ea99
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1013ea79
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013ea50
xor edx, edx
test ecx, ecx
je 0x1013ea79
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013ea60
cmp edi, 0xd791104e
je 0x1013ea91
mov ecx, dword [ebp - 0x29c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x29c], ecx
test ecx, ecx
je 0x1013ea99
mov esi, dword [ebp - 0x18]
jmp 0x1013ea30
mov ecx, dword [ebp - 0x29c]
jmp 0x1013ea9b
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
movss xmm0, dword [0x10232424]
dec eax
movss xmm1, dword [0x10232410]
movss xmm5, dword [0x1023223c]
cmp eax, 6
ja case.0x1013eabd.2
jmp dword [eax*4 + 0x101406a8]
push dword [ecx + 4]
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x1013eb2b
push dword [ecx + 8]
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x1013eb2b
movss xmm4, dword [ecx + 0xc]
movaps xmm3, xmm0
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addss xmm2, xmm1
subss xmm2, xmm1
movaps xmm0, xmm2
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm5
subss xmm2, xmm0
cvttss2si edx, xmm2
jmp 0x1013eb2b
xor edx, edx
jmp 0x1013eb2b
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x10264840]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edx, dword fs:[0x2c]
mov esi, dword [0x102486f4]
mov edi, dword [ebp - 0x2a4]
mov ecx, dword [0x10283cb4]
mov dword [ebp - 0x29c], eax
mov eax, dword [edx + esi*4]
mov edi, dword [edi + 8]
cmp ecx, dword [eax + 4]
jle 0x1013ebbc
push 0x10283cb4
call fcn.10191490
add esp, 4
cmp dword [0x10283cb4], 0xffffffff
jne 0x1013ebbc
mov edx, 0x990704d7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x27c]
call fcn.1009ed90
push 0xda7d68cb
mov edx, eax
mov ecx, 0x10283cb0
call fcn.1009f300
push 0x101a9280
call fcn.10191e90
push 0x10283cb4
mov byte [ebp - 4], 1
call fcn.10191440
add esp, 0xc
mov eax, dword [0x10283cb0]
call eax
mov esi, eax
mov dword [ebp - 0x18], esi
test edi, edi
je 0x1013ec49
test esi, esi
je 0x1013ec49
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x298], ecx
test ecx, ecx
je 0x1013ec49
nop dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1013ec29
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013ec00
xor edx, edx
test ecx, ecx
je 0x1013ec29
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013ec10
cmp edi, 0x11ab48ff
je 0x1013ec41
mov ecx, dword [ebp - 0x298]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x298], ecx
test ecx, ecx
je 0x1013ec49
mov esi, dword [ebp - 0x18]
jmp 0x1013ebe0
mov ecx, dword [ebp - 0x298]
jmp 0x1013ec4b
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x1013ec59.2
jmp dword [eax*4 + 0x101406c4]
push dword [ecx + 4]
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x1013ecdc
push dword [ecx + 8]
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x1013ecdc
movss xmm4, dword [ecx + 0xc]
movss xmm3, dword [0x10232424]
movaps xmm0, xmm4
movss xmm1, dword [0x10232410]
andps xmm3, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addss xmm2, xmm1
subss xmm2, xmm1
movss xmm1, dword [0x1023223c]
movaps xmm0, xmm2
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm1
subss xmm2, xmm0
cvttss2si edx, xmm2
jmp 0x1013ecdc
xor edx, edx
jmp 0x1013ecdc
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x10264840]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0x29c]
mov edx, eax
dec ecx
mov dword [ebp - 0x298], edx
cmp ecx, 0x3f
ja 0x1014066e
lea ecx, [edx - 1]
cmp ecx, 0x3f
ja 0x1014066e
mov edx, dword fs:[0x2c]
mov esi, dword [0x102486f4]
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [edx + esi*4]
mov edi, dword [eax + 8]
mov eax, dword [0x10283cb4]
cmp eax, dword [ecx + 4]
jle 0x1013ed8a
push 0x10283cb4
call fcn.10191490
add esp, 4
cmp dword [0x10283cb4], 0xffffffff
jne 0x1013ed8a
mov edx, 0x990704d7
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x27c]
call fcn.1009ed90
push 0xda7d68cb
mov edx, eax
mov ecx, 0x10283cb0
call fcn.1009f300
push 0x101a9280
call fcn.10191e90
push 0x10283cb4
mov byte [ebp - 4], 1
call fcn.10191440
add esp, 0xc
mov eax, dword [0x10283cb0]
call eax
mov esi, eax
mov dword [ebp - 0x18], esi
test edi, edi
je 0x1013ee03
test esi, esi
je 0x1013ee03
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013ee03
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1013edec
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013edc6
xor edx, edx
test ecx, ecx
je 0x1013edec
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013edd3
cmp edi, 0x2a7e565d
je 0x1013edfe
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013ee03
mov esi, dword [ebp - 0x18]
jmp 0x1013eda8
mov ecx, dword [ebp - 0x1c]
jmp 0x1013ee05
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x1013ee13.2
jmp dword [eax*4 + 0x101406e0]
push dword [ecx + 4]
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
mov edi, eax
jmp 0x1013eea2
push dword [ecx + 8]
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
mov dword [ebp - 0x294], eax
mov edi, eax
jmp 0x1013eea8
movss xmm4, dword [ecx + 0xc]
movss xmm3, dword [0x10232424]
movaps xmm0, xmm4
movss xmm1, dword [0x10232410]
andps xmm3, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addss xmm2, xmm1
subss xmm2, xmm1
movss xmm1, dword [0x1023223c]
movaps xmm0, xmm2
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm1
subss xmm2, xmm0
cvttss2si edi, xmm2
jmp 0x1013eea2
xor edi, edi
mov dword [ebp - 0x294], edi
jmp 0x1013eeb1
mov edi, dword [ecx + 0xc]
mov dword [ebp - 0x294], edi
cmp edi, 0xa
je 0x1014066e
mov ecx, dword [0x10264844]
push dword [ebp - 0x298]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1014066e
mov esi, dword [0x10264844]
push dword [ebp - 0x29c]
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
mov ecx, esi
call edx
test eax, eax
je 0x1014066e
mov ecx, dword [0x10264840]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp dword [ebp - 0x298], eax
jne 0x1013f2a5
cmp edi, 1
je 0x1013ef1d
cmp edi, 2
je 0x1013ef1d
cmp edi, 4
je 0x1013ef1d
cmp edi, 5
jne 0x1013f2a5
mov eax, dword [0x1027bf80]
cmp eax, 0xffffffff
je 0x1013ef3c
push eax
mov ecx, 0x1027da78
call fcn.1003e490
mov al, byte [eax]
test al, al
jne 0x1013f2a5
cmp byte [0x1026b830], 0
je 0x1013f2a5
cmp byte [0x1027edec], 0
jne 0x1013f2a5
cmp byte [0x1027eded], 0
jne 0x1013f2a5
cmp byte [0x1027edee], 0
jne 0x1013f2a5
cmp byte [0x1027edef], 0
jne 0x1013f2a5
xorps xmm0, xmm0
lea ecx, [ebp - 0x3c]
push 0x1027ee34
movups xmmword [ebp - 0x3c], xmm0
call fcn.10072be0
mov eax, dword [0x1027ee4c]
lea ecx, [ebp - 0x18]
sub esp, 0xc
mov esi, esp
push 3
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], eax
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov edi, dword [0x1027ee44]
mov eax, dword [esi]
cmp eax, edi
je 0x1013efd8
test eax, eax
je 0x1013efcd
mov ecx, esi
call fcn.1002f5b0
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov dword [edi + 4], esi
mov dword [esi], edi
lea ecx, [ebp - 0x18]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov eax, dword [0x1027ee48]
lea ecx, [ebp - 0x18]
sub esp, 0xc
mov esi, esp
push 3
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], eax
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov edi, dword [0x1027ee44]
mov eax, dword [esi]
cmp eax, edi
je 0x1013f028
test eax, eax
je 0x1013f01d
mov ecx, esi
call fcn.1002f5b0
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov dword [edi + 4], esi
mov dword [esi], edi
lea ecx, [ebp - 0x18]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x18]
push 3
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], eax
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x2b4]
cmp esi, edi
je 0x1013f103
test esi, esi
je 0x1013f0eb
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1013f093
nop dword [eax + eax]
lea ecx, [ebp - 0x2b4]
cmp eax, ecx
je 0x1013f0d9
lea esi, [eax + 4]
mov eax, dword [esi]
test eax, eax
jne 0x1013f080
push str.ITERATOR_LIST_CORRUPTED_
push 0x101ad5ac
push 0
push 0x4b7
push 0x101ad5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1013f0ba
int3
push 0
push 0x4b7
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326includexmemory
push 0x101ad6dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x2b0]
mov dword [esi], eax
mov dword [ebp - 0x2b4], 0
mov eax, dword [edi + 4]
mov dword [ebp - 0x2b0], eax
lea eax, [ebp - 0x2b4]
mov dword [edi + 4], eax
mov dword [ebp - 0x2b4], edi
mov edi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea ecx, [ebp - 0x18]
call edi
sub esp, 0xc
mov byte [ebp - 4], 6
mov esi, esp
lea eax, [ebp - 0x2b4]
mov ecx, esi
push eax
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.1002f280
mov eax, dword [ebp - 0x2ac]
lea ecx, [ebp - 0x3c]
mov dword [esi + 8], eax
lea eax, [ebp - 0x27c]
push eax
call fcn.1011cdd0
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x18]
push 3
call esi
lea ecx, [ebp - 0x27c]
call fcn.1002f5b0
lea ecx, [ebp - 0x18]
call edi
push 3
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call esi
lea ecx, [ebp - 0x2b4]
call fcn.1002f5b0
lea ecx, [ebp - 0x18]
call edi
mov ecx, dword [ebp - 0x34]
mov eax, 0x92492493
sub ecx, dword [ebp - 0x38]
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x28
jne 0x1013f284
mov eax, dword [0x1025d730]
lea ecx, [ebp - 0x1c]
movss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x1c], xmm0
call fcn.1014df70
movss xmm1, dword [ebp - 0x1c]
lea ecx, [ebp - 0x60]
call fcn.10061200
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x34]
push eax
cmp ecx, dword [ebp - 0x30]
je 0x1013f1ed
call fcn.10042750
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x3c]
push eax
push eax
call fcn.1004f600
add dword [ebp - 0x34], 0x1c
jmp 0x1013f1f6
push ecx
lea ecx, [ebp - 0x3c]
call fcn.1007af00
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 5
call fcn.10045430
mov eax, dword [ebp - 0x60]
push 8
push eax
mov dword [ebp - 0x60], 0
call fcn.10191ec0
movss xmm0, dword [0x1027ee2c]
lea ecx, [ebp - 0x1c]
add esp, 8
movss dword [ebp - 0x1c], xmm0
call fcn.1014df70
movss xmm1, dword [ebp - 0x1c]
lea ecx, [ebp - 0x60]
call fcn.10061200
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x34]
push eax
cmp ecx, dword [ebp - 0x30]
je 0x1013f25e
call fcn.10042750
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x3c]
push eax
push eax
call fcn.1004f600
add dword [ebp - 0x34], 0x1c
jmp 0x1013f267
push ecx
lea ecx, [ebp - 0x3c]
call fcn.1007af00
lea ecx, [ebp - 0x60]
call fcn.10045430
mov eax, dword [ebp - 0x60]
push 8
push eax
mov dword [ebp - 0x60], 0
call fcn.10191ec0
add esp, 8
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.10044c30
mov eax, dword [ebp - 0x3c]
push 8
push eax
mov dword [ebp - 0x3c], 0
call fcn.10191ec0
add esp, 8
mov ecx, dword [0x10264840]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp dword [ebp - 0x29c], eax
jne 0x1014066e
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [0x102486f4]
mov edi, dword [eax + 8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10283cb4]
cmp eax, dword [ecx + 4]
jle 0x1013f339
push 0x10283cb4
call fcn.10191490
add esp, 4
cmp dword [0x10283cb4], 0xffffffff
jne 0x1013f339
mov edx, 0x990704d7
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x27c]
call fcn.1009ed90
push 0xda7d68cb
mov edx, eax
mov ecx, 0x10283cb0
call fcn.1009f300
push 0x101a9280
call fcn.10191e90
push 0x10283cb4
mov byte [ebp - 4], 1
call fcn.10191440
add esp, 0xc
mov eax, dword [0x10283cb0]
call eax
mov esi, eax
mov dword [ebp - 0x18], esi
test edi, edi
je 0x1013f3b2
test esi, esi
je 0x1013f3b2
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013f3b2
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1013f39b
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013f375
xor edx, edx
test ecx, ecx
je 0x1013f39b
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013f382
cmp edi, 0xa0d9523e
je 0x1013f3ad
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013f3b2
mov esi, dword [ebp - 0x18]
jmp 0x1013f357
mov ecx, dword [ebp - 0x1c]
jmp 0x1013f3b4
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x1013f3be.2
jmp dword [eax*4 + 0x101406fc]
push dword [ecx + 4]
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
jmp 0x1013f43d
push dword [ecx + 8]
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
jmp 0x1013f43d
movss xmm4, dword [ecx + 0xc]
movss xmm3, dword [0x10232424]
movaps xmm0, xmm4
movss xmm1, dword [0x10232410]
andps xmm3, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltss xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addss xmm2, xmm1
subss xmm2, xmm1
movss xmm1, dword [0x1023223c]
movaps xmm0, xmm2
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm1
subss xmm2, xmm0
cvttss2si eax, xmm2
jmp 0x1013f43d
xor eax, eax
jmp 0x1013f43d
mov eax, dword [ecx + 0xc]
mov edi, dword [0x1027f110]
xor edx, edx
movss xmm0, dword [0x1023241c]
mov dword [ebp - 0x2a0], eax
mov eax, dword [0x1027f114]
add eax, edi
mov dword [ebp - 0x1c], edx
movss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x290], edi
mov dword [ebp - 0x24], eax
cmp edi, eax
je 0x1014066e
movsd xmm0, qword [0x10232298]
mov esi, dword [ebp - 0x2c]
movsd qword [ebp - 0x2bc], xmm0
movsd xmm0, qword [0x10232268]
movsd qword [ebp - 0x2c4], xmm0
nop word [eax + eax]
mov ecx, dword [0x1027f10c]
mov eax, dword [0x1027f108]
dec ecx
and ecx, edi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
cmp dword [eax], esi
jne 0x1013f6a8
cmp byte [eax + 0x2c], 0
je 0x1013f6a8
mov dword [ebp - 0x27c], 0
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
mov eax, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x28c]
call eax
cmp dword [esi + 0x39e1], 0
je 0x1013f65e
mov eax, dword [0x10264a00]
mov edi, dword [eax + esi]
test edi, edi
je 0x1013f658
mov ecx, dword [edi + 0x60]
test ecx, ecx
je 0x1013f658
cmp byte [edi + 0x109], 0
xorps xmm1, xmm1
jne 0x1013f577
mov eax, dword [0x1027d71c]
add eax, 0xffffffbf
xor eax, 0x7d97e69c
movss xmm0, dword [ecx + eax]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1013f577
mov eax, dword [0x1027d798]
mov esi, dword [0x10264844]
add eax, 0xffffffa0
xor eax, 0x7d97e6bb
mov eax, dword [ecx + eax]
mov ecx, dword [esi]
push ecx
mov edx, dword [ecx + 0x10]
mov ecx, esp
mov dword [ecx], eax
mov ecx, esi
call edx
test eax, eax
jne 0x1013f658
xorps xmm1, xmm1
mov ecx, dword [0x1027d788]
mov eax, dword [edi + 0x60]
add ecx, 0xffffffa4
xor ecx, 0x7d97e6b7
mov eax, dword [ecx + eax]
test eax, eax
je 0x1013f658
movss xmm3, dword [eax + 0x1ac]
movss xmm2, dword [ebp - 0x274]
cvtps2pd xmm3, xmm3
cvtps2pd xmm0, xmm2
addsd xmm3, qword [ebp - 0x2bc]
comisd xmm0, xmm3
movsd qword [ebp - 0x34], xmm3
jbe 0x1013f658
subsd xmm0, xmm3
xorps xmm4, xmm4
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x102322d0]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x2c4]
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x1013f61c
sub esp, 8
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm0
call dword [sym.imp.ucrtbased.dll_fminf]
movss xmm2, dword [ebp - 0x274]
add esp, 8
movsd xmm3, qword [ebp - 0x34]
fstp dword [ebp - 0x2a8]
movss xmm4, dword [ebp - 0x2a8]
movaps xmm1, xmm4
mulss xmm1, xmm4
cvtps2pd xmm2, xmm2
movaps xmm0, xmm1
addss xmm1, xmm1
mulss xmm0, dword [0x102322b4]
subsd xmm3, xmm2
mulss xmm1, xmm4
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x274], xmm0
mov edi, dword [ebp - 0x290]
mov esi, dword [ebp - 0x20]
movss xmm1, dword [esi + 8]
movss xmm0, dword [esi + 0xc]
subss xmm0, dword [ebp - 0x278]
subss xmm1, dword [ebp - 0x27c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1002ecc0
movss xmm1, dword [ebp - 0x18]
comiss xmm1, xmm0
jbe 0x1013f6a2
mov edx, esi
movss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x1c], edx
jmp 0x1013f6a5
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x2c]
inc edi
mov dword [ebp - 0x290], edi
cmp edi, dword [ebp - 0x24]
jne 0x1013f4a0
test edx, edx
je 0x1014066e
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x28]
call eax
lea esi, [eax - 1]
cmp esi, 0x40
jb 0x1013f719
push str.array_subscript_out_of_range
push 0x101ad5ac
push 0
push 0x22f
push 0x101ade30
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1013f6fa
int3
push 0
push 0x22f
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326include_array
push 0x101ad6dc
push str._array_subscript_out_of_range_
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
imul eax, esi, 0x4d8
add eax, 0x1024883c
mov dword [ebp - 0x290], eax
je 0x1014066e
mov ecx, dword [0x10264840]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp dword [ebp - 0x29c], eax
jne 0x1013f774
mov ecx, dword [0x1027f134]
mov eax, ecx
mov edx, dword [0x1027f130]
sub eax, edx
sar eax, 2
test eax, eax
je 0x1013f774
cmp edx, ecx
je 0x1013f774
mov ecx, 0x1027f12c
call fcn.1002f6d0
mov eax, dword [0x1027f130]
mov dword [0x1027f134], eax
mov ecx, dword [0x10264840]
lea edx, [ebp - 0x270]
push edx
push dword [ebp - 0x298]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x1014066e
lea eax, [ebp - 0x11]
mov dword [ebp - 0x28c], 0
push 8
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x24], eax
call fcn.10191600
lea ecx, [ebp - 0x28c]
mov dword [ebp - 0x28], eax
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x28c], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x278], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1013f810
sub ecx, edx
lea eax, [ebp - 0x260]
push ecx
push eax
lea ecx, [ebp - 0x28c]
call fcn.100425a0
mov dword [ebp - 0x28], 0
push 0x18
push 0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x28c]
call fcn.10042130
push eax
lea ecx, [ebp - 0x80]
call fcn.10086ac0
lea ecx, [ebp - 0x60]
call fcn.10045430
mov eax, dword [ebp - 0x60]
push 8
push eax
mov dword [ebp - 0x60], 0
call fcn.10191ec0
add esp, 8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28c]
call fcn.10045430
mov eax, dword [ebp - 0x28c]
push 8
push eax
mov dword [ebp - 0x28c], 0
call fcn.10191ec0
mov eax, dword [ebp - 0x2a4]
add esp, 8
mov ecx, dword [0x102486f4]
mov edi, dword [eax + 8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10283cb4]
cmp eax, dword [ecx + 4]
jle 0x1013f915
push 0x10283cb4
call fcn.10191490
add esp, 4
cmp dword [0x10283cb4], 0xffffffff
jne 0x1013f915
mov edx, 0x990704d7
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x27c]
call fcn.1009ed90
push 0xda7d68cb
mov edx, eax
mov ecx, 0x10283cb0
call fcn.1009f300
push 0x101a9280
call fcn.10191e90
push 0x10283cb4
mov byte [ebp - 4], 1
call fcn.10191440
add esp, 0xc
mov eax, dword [0x10283cb0]
call eax
mov esi, eax
mov dword [ebp - 0x24], esi
test edi, edi
je 0x1013f990
test esi, esi
je 0x1013f990
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x1013f990
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x1013f979
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013f951
xor edx, edx
test ecx, ecx
je 0x1013f979
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013f960
cmp edi, 0x6b98ed8f
je 0x1013f98b
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x1013f990
mov esi, dword [ebp - 0x24]
jmp 0x1013f933
mov ecx, dword [ebp - 0x2c]
jmp 0x1013f992
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x1013f99c.2
jmp dword [eax*4 + 0x10140718]
push dword [ecx + 4]
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
jmp 0x1013fa1b
push dword [ecx + 8]
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
jmp 0x1013fa1b
movss xmm2, dword [ecx + 0xc]
movss xmm4, dword [0x10232424]
movaps xmm0, xmm2
movss xmm3, dword [0x10232410]
andps xmm4, xmm2
xorps xmm0, xmm4
movaps xmm1, xmm2
cmpltss xmm0, xmm3
andps xmm3, xmm0
orps xmm3, xmm4
addss xmm1, xmm3
subss xmm1, xmm3
movaps xmm0, xmm1
subss xmm0, xmm2
movss xmm2, dword [0x1023223c]
cmpnless xmm0, xmm4
andps xmm0, xmm2
subss xmm1, xmm0
cvttss2si eax, xmm1
jmp 0x1013fa1b
xor eax, eax
jmp 0x1013fa1b
mov eax, dword [ecx + 0xc]
push 0x10264fe8
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x64], eax
call fcn.10041800
mov eax, dword [ebp - 0x278]
sub eax, dword [ebp - 0x27c]
sar eax, 2
test eax, eax
je 0x1013fa52
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0x11], 1
mov eax, dword [eax]
mov eax, dword [eax + 4]
cmp dword [eax], 0
jne 0x1013fa56
mov byte [ebp - 0x11], 0
lea ecx, [ebp - 0x280]
call fcn.1002f6d0
mov ecx, dword [ebp - 0x27c]
test ecx, ecx
je 0x1013fa99
mov edx, dword [ebp - 0x274]
sub edx, ecx
and edx, 0xfffffffc
call fcn.10049fa0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x280]
push 8
push eax
mov dword [ebp - 0x280], 0
call fcn.10191ec0
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x10140107
sub esp, 0xc
mov dword [ebp - 0x24], 0
mov ecx, 0x10264fe8
push esp
call fcn.100416a0
sub esp, 0xc
mov ecx, 0x10264fe8
push esp
call fcn.10041720
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x38]
call fcn.10048230
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x27c]
mov ecx, 0x10264fe8
push eax
call fcn.100416a0
push eax
mov ecx, esi
call fcn.1003e530
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x24]
push 3
mov byte [ebp - 0x11], al
call esi
lea ecx, [ebp - 0x27c]
call fcn.1002f5b0
mov edi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea ecx, [ebp - 0x24]
call edi
push 3
lea ecx, [ebp - 0x20]
call esi
lea ecx, [ebp - 0x38]
call fcn.1002f5b0
lea ecx, [ebp - 0x20]
call edi
cmp byte [ebp - 0x11], 0
movss xmm1, dword [0x102322a4]
jne 0x1013fbfe
mov eax, dword [0x1026489c]
mov ecx, dword [0x10283bb4]
mov dword [ebp - 0x274], 0x40000000
movss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x27c], xmm0
addss xmm0, xmm1
movss dword [ebp - 0x278], xmm0
cmp ecx, dword [0x10283bb8]
je 0x1013fbec
movq xmm0, qword [ebp - 0x27c]
mov eax, dword [ebp - 0x274]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x24]
mov esi, dword [0x10283bb4]
push 3
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [0x10283bac]
add ecx, 4
mov eax, dword [ecx]
test eax, eax
je 0x1013fbde
cmp dword [eax + 8], esi
jb 0x1013fbd5
ja 0x1013fbd5
mov dword [eax], 0
mov eax, dword [eax + 4]
mov dword [ecx], eax
jmp 0x1013fbda
lea ecx, [eax + 4]
mov eax, dword [ecx]
test eax, eax
jne 0x1013fbc1
lea ecx, [ebp - 0x24]
call edi
add dword [0x10283bb4], 0xc
jmp 0x1013fbfe
lea eax, [ebp - 0x27c]
push eax
push ecx
mov ecx, 0x10283bac
call fcn.10144ce0
sub esp, 0xc
mov dword [ebp - 0x24], 1
mov ecx, 0x10264fe8
push esp
call fcn.100416a0
sub esp, 0xc
mov ecx, 0x10264fe8
push esp
call fcn.10041720
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x38]
call fcn.10048230
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x27c]
mov ecx, 0x10264fe8
push eax
call fcn.100416a0
push eax
mov ecx, esi
call fcn.1003e530
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x24]
push 3
mov byte [ebp - 0x11], al
call esi
lea ecx, [ebp - 0x27c]
call fcn.1002f5b0
lea ecx, [ebp - 0x24]
call edi
push 3
lea ecx, [ebp - 0x20]
call esi
lea ecx, [ebp - 0x38]
call fcn.1002f5b0
lea ecx, [ebp - 0x20]
call edi
cmp byte [ebp - 0x11], 0
jne 0x1013fdff
mov eax, dword [ebp - 0x294]
mov esi, 4
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
cmp eax, 1
jne 0x1013fcba
xor esi, esi
jmp 0x1013fcfe
cmp eax, 2
jne 0x1013fcc4
lea esi, [eax + 4]
jmp 0x1013fcfe
cmp eax, 4
jne 0x1013fcce
lea esi, [eax + 0xf]
jmp 0x1013fcfe
cmp eax, 6
jne 0x1013fcd8
lea esi, [eax + 6]
jmp 0x1013fcfe
cmp eax, 8
jne 0x1013fce2
lea esi, [eax - 7]
jmp 0x1013fcfe
cmp eax, 5
jne 0x1013fcec
lea esi, [eax + 0xc]
jmp 0x1013fcfe
cmp eax, 7
jne 0x1013fcf6
lea esi, [eax + 6]
jmp 0x1013fcfe
cmp eax, 3
mov ecx, esi
cmove esi, ecx
mov ecx, dword [0x10264844]
push dword [ebp - 0x298]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x1014066e
mov ecx, dword [0x1027d788]
lea edx, [ebp - 0x27c]
add ecx, 0xffffffa4
push edx
xor ecx, 0x7d97e6b7
push esi
push dword [ecx + eax]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.1003c8c0
mov eax, dword [0x1026489c]
mov dword [ebp - 0x3c], 0x40000000
movss xmm0, dword [eax + 0x10]
mov eax, dword [0x10283b94]
movss dword [ebp - 0x44], xmm0
addss xmm0, dword [0x102322a4]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x278]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x274]
movss dword [ebp - 0x30], xmm0
cmp eax, dword [0x10283b98]
je 0x1013fdf0
movups xmm0, xmmword [ebp - 0x44]
push 3
lea ecx, [ebp - 0x24]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x34]
movq qword [eax + 0x10], xmm0
mov esi, dword [0x10283b94]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [0x10283b8c]
add ecx, 4
mov eax, dword [ecx]
test eax, eax
je 0x1013fde2
cmp dword [eax + 8], esi
jb 0x1013fdd9
ja 0x1013fdd9
mov dword [eax], 0
mov eax, dword [eax + 4]
mov dword [ecx], eax
jmp 0x1013fdde
lea ecx, [eax + 4]
mov eax, dword [ecx]
test eax, eax
jne 0x1013fdc5
lea ecx, [ebp - 0x24]
call edi
add dword [0x10283b94], 0x18
jmp 0x1013fdff
lea ecx, [ebp - 0x44]
push ecx
push eax
mov ecx, 0x10283b8c
call fcn.10145110
sub esp, 0xc
mov dword [ebp - 0x24], 2
mov ecx, 0x10264fe8
push esp
call fcn.100416a0
sub esp, 0xc
mov ecx, 0x10264fe8
push esp
call fcn.10041720
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x38]
call fcn.10048230
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x27c]
mov ecx, 0x10264fe8
push eax
call fcn.100416a0
push eax
mov ecx, esi
call fcn.1003e530
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x24]
push 3
mov byte [ebp - 0x11], al
call esi
lea ecx, [ebp - 0x27c]
call fcn.1002f5b0
lea ecx, [ebp - 0x24]
call edi
push 3
lea ecx, [ebp - 0x20]
call esi
lea ecx, [ebp - 0x38]
call fcn.1002f5b0
lea ecx, [ebp - 0x20]
call edi
cmp byte [ebp - 0x11], 0
jne 0x1014010d
mov ecx, dword [0x10264844]
push dword [ebp - 0x298]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x1014066e
mov ecx, dword [0x1026489c]
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
movss xmm0, dword [ecx + 0x10]
lea ecx, [ebp - 0x27c]
movss dword [ebp - 0x60], xmm0
addss xmm0, dword [0x102322a4]
push ecx
mov ecx, esi
mov dword [ebp - 0x58], 0x40000000
movss dword [ebp - 0x5c], xmm0
movd xmm0, dword [ebp - 0x2a0]
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
mov dword [ebp - 0x54], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28c]
call eax
cmp dword [esi + 0x39e1], 0
je 0x1014005b
mov eax, dword [0x10264a00]
mov edi, dword [eax + esi]
test edi, edi
je 0x1014005b
mov ecx, dword [edi + 0x60]
test ecx, ecx
je 0x1014005b
cmp byte [edi + 0x109], 0
xorps xmm4, xmm4
jne 0x1013ff89
mov eax, dword [0x1027d71c]
add eax, 0xffffffbf
xor eax, 0x7d97e69c
movss xmm0, dword [ecx + eax]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x1013ff89
mov eax, dword [0x1027d798]
add eax, 0xffffffa0
xor eax, 0x7d97e6bb
mov eax, dword [ecx + eax]
mov ecx, dword [0x10264844]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
test eax, eax
jne 0x1014005b
xorps xmm4, xmm4
mov ecx, dword [0x1027d788]
mov eax, dword [edi + 0x60]
add ecx, 0xffffffa4
xor ecx, 0x7d97e6b7
mov eax, dword [ecx + eax]
test eax, eax
je 0x1014005b
movss xmm3, dword [eax + 0x1ac]
movss xmm2, dword [ebp - 0x274]
cvtps2pd xmm3, xmm3
cvtps2pd xmm0, xmm2
addsd xmm3, qword [ebp - 0x2bc]
comisd xmm0, xmm3
movsd qword [ebp - 0x34], xmm3
jbe 0x10140063
subsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x102322d0]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x2c4]
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm4
jb 0x10140025
sub esp, 8
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm0
call dword [sym.imp.ucrtbased.dll_fminf]
movss xmm2, dword [ebp - 0x274]
add esp, 8
movsd xmm3, qword [ebp - 0x34]
fstp dword [ebp - 0x24]
movss xmm4, dword [ebp - 0x24]
movaps xmm1, xmm4
mulss xmm1, xmm4
cvtps2pd xmm2, xmm2
movaps xmm0, xmm1
addss xmm1, xmm1
mulss xmm0, dword [0x102322b4]
subsd xmm3, xmm2
mulss xmm1, xmm4
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm0, xmm2
cvtpd2ps xmm2, xmm0
jmp 0x10140063
movss xmm2, dword [ebp - 0x274]
movss xmm0, dword [ebp - 0x27c]
mov ecx, dword [0x10283ba4]
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [ebp - 0x278]
movss dword [ebp - 0x4c], xmm0
movss dword [ebp - 0x48], xmm2
cmp ecx, dword [0x10283ba8]
je 0x101400f8
movups xmm0, xmmword [ebp - 0x60]
mov eax, dword [ebp - 0x48]
push 3
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x50]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
lea ecx, [ebp - 0x24]
mov esi, dword [0x10283ba4]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [0x10283b9c]
add ecx, 4
mov eax, dword [ecx]
test eax, eax
je 0x101400e4
cmp dword [eax + 8], esi
jb 0x101400db
ja 0x101400db
mov dword [eax], 0
mov eax, dword [eax + 4]
mov dword [ecx], eax
jmp 0x101400e0
lea ecx, [eax + 4]
mov eax, dword [ecx]
test eax, eax
jne 0x101400c7
mov edi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea ecx, [ebp - 0x24]
call edi
add dword [0x10283ba4], 0x1c
jmp 0x1014010d
lea eax, [ebp - 0x60]
push eax
push ecx
mov ecx, 0x10283b9c
call fcn.10144ee0
mov edi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov eax, dword [0x102650a8]
mov ecx, dword [ebp - 0x294]
test eax, eax
je 0x10140121
cmp ecx, 1
je 0x10140137
mov eax, dword [0x1026515c]
test eax, eax
je 0x10140204
cmp ecx, 1
je 0x10140204
cmp eax, 1
jne 0x10140150
push 5
push 0
push 0x10211f78
call dword [sym.imp.WINMM.dll_PlaySoundA]
jmp 0x10140204
cmp eax, 2
jne 0x10140169
push 5
push 0
push str.RIFF_
call dword [sym.imp.WINMM.dll_PlaySoundA]
jmp 0x10140204
cmp eax, 3
jne 0x10140182
push 5
push 0
push str.RIFF
call dword [sym.imp.WINMM.dll_PlaySoundA]
jmp 0x10140204
cmp eax, 4
jne 0x10140198
push 5
push 0
push str.RIFF_R
call dword [sym.imp.WINMM.dll_PlaySoundA]
jmp 0x10140204
cmp eax, 5
jne 0x101401ad
push eax
push 0
push 0x101b09f8
call dword [sym.imp.WINMM.dll_PlaySoundA]
jmp 0x10140204
cmp eax, 6
jne 0x101401c3
push 5
push 0
push str.RIFFz
call dword [sym.imp.WINMM.dll_PlaySoundA]
jmp 0x10140204
cmp eax, 7
jne 0x101401d9
push 5
push 0
push 0x101c06b8
call dword [sym.imp.WINMM.dll_PlaySoundA]
jmp 0x10140204
cmp eax, 8
jne 0x10140204
mov ecx, dword [0x10264894]
push ecx
mov dword [esp], 0
push 0
mov eax, dword [ecx]
push 0x64
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [eax + 0x30]
push str.buttons_arena_switch_press_02.wav
call eax
sub esp, 0xc
mov dword [ebp - 0x24], 1
mov ecx, 0x1027c6d4
push esp
call fcn.100416a0
sub esp, 0xc
mov ecx, 0x1027c6d4
push esp
call fcn.10041720
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x38]
call fcn.10048230
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x27c]
mov ecx, 0x1027c6d4
push eax
call fcn.100416a0
push eax
mov ecx, esi
call fcn.1003e530
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0x24]
push 3
mov byte [ebp - 0x11], al
call esi
lea ecx, [ebp - 0x27c]
call fcn.1002f5b0
lea ecx, [ebp - 0x24]
call edi
push 3
lea ecx, [ebp - 0x20]
call esi
lea ecx, [ebp - 0x38]
call fcn.1002f5b0
lea ecx, [ebp - 0x20]
call edi
cmp byte [ebp - 0x11], 0
jne 0x10140488
mov eax, dword [ebp - 0x1c]
mov edx, str.true
mov esi, dword [ebp - 0x290]
movd xmm0, dword [ebp - 0x2a0]
cvtdq2ps xmm0, xmm0
mov ecx, dword [eax]
mov eax, edx
mov edi, dword [ecx + 4]
add edi, 0x74
cmp byte [esi + 0x4c8], 0
mov esi, str.false
cmove eax, esi
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 4]
cmp byte [eax + 0x3e1], 0
cvttss2si eax, xmm0
cmove edx, esi
mov esi, dword [ebp - 0x294]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x2a8], eax
cmp esi, 8
jb 0x1014032e
push str.array_subscript_out_of_range
push 0x101ad5ac
push 0
push 0x22f
push 0x101ade30
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1014030f
int3
push 0
push 0x22f
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326include_array
push 0x101ad6dc
push str._array_subscript_out_of_range_
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
lea eax, [esi*8]
sub eax, esi
push 0x98
push 0
lea esi, [eax*4 + 0x1027eff0]
lea eax, [ebp - 0x118]
push eax
call sub.VCRUNTIME140D.dll_memset
add esp, 8
lea ecx, [ebp - 0x118]
call fcn.10042070
mov eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x118]
add eax, 0x30
mov byte [ebp - 4], 0xd
push eax
push edi
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x80]
push esi
push eax
call fcn.10144740
add esp, 0x20
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x114]
push eax
call fcn.10045190
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x118], 0x101aeb90
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x11c], eax
lea ecx, [ebp - 0x114]
call fcn.10041ee0
lea ecx, [ebp - 0x110]
call dword [sym.imp.MSVCP140D.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xc8]
call dword [sym.imp.MSVCP140D.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x60]
mov eax, dword [0x1027efac]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x18], 0x41000000
push eax
call fcn.10048160
add esp, 8
push eax
mov byte [ebp - 4], 0xf
call fcn.1003e600
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x1014044c
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1014044c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x1014044c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x1c
lea eax, [ebp - 0x60]
mov ecx, esp
push eax
call fcn.100429a0
push 0x1025d230
call fcn.100708e0
add esp, 0x20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x60]
call fcn.10045430
mov eax, dword [ebp - 0x60]
push 8
push eax
mov dword [ebp - 0x60], 0
call fcn.10191ec0
add esp, 8
mov eax, dword [ebp - 0x294]
test eax, eax
je 0x1014066e
mov edi, dword [0x1027f0ec]
mov esi, dword [0x1027f0e8]
cmp esi, edi
je 0x101404dd
nop word [eax + eax]
mov edx, dword [0x1027d714]
mov eax, dword [0x1025d258]
add edx, 0xffffffc1
mov ecx, dword [esi + 0x18]
xor edx, 0x7d97e69a
cmp ecx, dword [edx + eax]
jne 0x101404d0
mov byte [esi + 0x1d], 1
add esi, 0x20
cmp esi, edi
jne 0x101404b0
mov eax, dword [ebp - 0x294]
cmp dword [0x1027f114], 0
je 0x1014066e
movd xmm0, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x1c]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x27c], ecx
mov ecx, 0x1027f118
mov dword [ebp - 0x278], eax
movss dword [ebp - 0x274], xmm0
call fcn.1002f6d0
mov eax, dword [0x1027f128]
mov edx, dword [0x1027f120]
inc eax
cmp edx, eax
ja 0x10140537
push ecx
mov ecx, 0x1027f118
call fcn.10142210
mov edx, dword [0x1027f120]
mov esi, dword [0x1027f124]
lea edi, [edx - 1]
mov ecx, dword [0x1027f11c]
and esi, edi
mov dword [0x1027f124], esi
cmove esi, edx
dec esi
and edi, esi
cmp dword [ecx + edi*4], 0
jne 0x10140573
push 0xc
call fcn.10191600
mov ecx, dword [0x1027f11c]
add esp, 4
mov dword [ecx + edi*4], eax
mov ecx, dword [0x1027f11c]
mov ecx, dword [ecx + edi*4]
movq xmm0, qword [ebp - 0x27c]
mov eax, dword [ebp - 0x274]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [0x1027f128]
add eax, 1
mov dword [0x1027f124], esi
mov dword [0x1027f128], eax
jne 0x101405eb
push str.front___called_on_empty_deque
push 0x101ad5ac
push 0
push 0x417
push 0x101ae070
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x101405c7
int3
push 0
push 0x417
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.32.31326includedeque
push 0x101ad6dc
push str._front___called_on_empty_deque_
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov eax, dword [0x1027f128]
add esp, 0x14
cmp eax, 0x80
jbe 0x10140608
mov ecx, 0x1027f118
call fcn.10140b60
cmp dword [0x1027f128], 0x80
ja 0x101405f2
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x404]
cmp eax, 6
jne 0x10140634
mov ecx, dword [ebp - 0x290]
mov eax, dword [ecx + 0x4bc]
test eax, eax
jle 0x1014066e
dec eax
mov dword [ecx + 0x4bc], eax
jmp 0x1014066e
cmp eax, 2
jne 0x10140652
mov ecx, dword [ebp - 0x290]
mov eax, dword [ecx + 0x4b4]
test eax, eax
jle 0x1014066e
dec eax
mov dword [ecx + 0x4b4], eax
jmp 0x1014066e
cmp eax, 4
jne 0x1014066e
mov ecx, dword [ebp - 0x290]
mov eax, dword [ecx + 0x4b8]
test eax, eax
jle 0x1014066e
dec eax
mov dword [ecx + 0x4b8], eax
lea ecx, [ebp - 0x80]
call fcn.10045430
mov eax, dword [ebp - 0x80]
push 8
push eax
mov dword [ebp - 0x80], 0
call fcn.10191ec0
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101912d0
mov esp, ebp
pop ebp
ret 4