Function at 0x100a4fa0
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
push 0xffffffffffffffff
push 0x100e8d2b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3a0
mov eax, dword [0x10104040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x314], ecx
cmp byte [ecx + 4], 0
lea edx, [ecx + 8]
mov eax, dword [0x10125c70]
movss xmm0, dword [edx]
movss xmm1, dword [eax + 0x14]
addss xmm1, xmm1
je 0x100a5008
addss xmm0, xmm1
jmp 0x100a500c
subss xmm0, xmm1
movss dword [edx], xmm0
lea eax, [ebp - 0x308]
comiss xmm0, dword [0x100f6bd4]
mov dword [ebp - 0x308], 0x3f800000
cmovbe eax, edx
movss xmm0, dword [eax]
maxss xmm0, dword [0x100f6acc]
movss dword [edx], xmm0
mulss xmm0, dword [0x100f6ce4]
cvttss2si edx, xmm0
mov dword [ebp - 0x308], edx
mov dword [ecx + 0xc], edx
test edx, edx
je 0x100a6373
mov eax, dword [0x10126d8c]
mov dword [ebp - 0x324], eax
mov eax, dword [ecx]
mov byte [ebp - 0x321], dl
mov edx, dword [0x1011cbc8]
mov dword [ecx], edx
cmp eax, edx
je 0x100a5090
cmp edx, 1
mov dword [ecx + 0x20], 0x1ea
mov eax, 0x23a
mov esi, 0x26c
cmove eax, esi
mov dword [ecx + 0x1c], eax
sub edx, 0
je 0x100a5a05
sub edx, 1
jne 0x100a6373
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0x308], eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [0x10125c20]
mov dword [ebp - 0x310], eax
cvttss2si eax, xmm0
mov word [ebp - 0x304], 0xc0c
mov byte [ebp - 0x302], 0xc
mov byte [ebp - 0x301], al
mov eax, dword [ecx]
push dword [ebp - 0x304]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x310]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x30c], 0x505
mov byte [ebp - 0x30a], 5
mov eax, dword [ecx + 0x18]
mov esi, dword [ecx + 0x20]
mov edi, dword [ecx + 0x1c]
mov dword [ebp - 0x310], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x308], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x309], al
push dword [ebp - 0x30c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x310]
add eax, esi
mov esi, dword [ebp - 0x308]
push eax
lea eax, [edi + esi]
push eax
push dword [ebp - 0x310]
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x360], 0x3c3c
mov byte [ebp - 0x35e], 0x3c
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 2
mov esi, dword [ecx + 0x14]
inc edi
mov dword [ebp - 0x308], eax
inc esi
mov eax, dword [ecx + 0x1c]
sub eax, 2
mov dword [ebp - 0x310], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x35d], al
push dword [ebp - 0x360]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x310]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x364], 0x2828
mov byte [ebp - 0x362], 0x28
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 4
mov esi, dword [ecx + 0x14]
add edi, 2
mov dword [ebp - 0x308], eax
add esi, 2
mov eax, dword [ecx + 0x1c]
sub eax, 4
mov dword [ebp - 0x310], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x361], al
push dword [ebp - 0x364]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x310]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x368], 0x2828
mov byte [ebp - 0x366], 0x28
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 6
mov esi, dword [ecx + 0x14]
add edi, 3
mov dword [ebp - 0x308], eax
add esi, 3
mov eax, dword [ecx + 0x1c]
sub eax, 6
mov dword [ebp - 0x310], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x365], al
push dword [ebp - 0x368]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x310]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 8
mov esi, dword [ecx + 0x14]
add edi, 4
mov dword [ebp - 0x308], eax
mov eax, dword [ecx + 0x1c]
sub eax, 8
add esi, 4
mov dword [ebp - 0x310], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x325], al
mov word [ebp - 0x328], 0x2828
mov byte [ebp - 0x326], 0x28
mov eax, dword [ecx]
push dword [ebp - 0x328]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x310]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x32c], 0x3c3c
mov byte [ebp - 0x32a], 0x3c
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 0xa
mov esi, dword [ecx + 0x14]
add edi, 5
mov dword [ebp - 0x308], eax
add esi, 5
mov eax, dword [ecx + 0x1c]
sub eax, 0xa
mov dword [ebp - 0x310], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x329], al
push dword [ebp - 0x32c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x310]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [ecx + 0x30]
je 0x100a6373
mov eax, dword [ecx]
sub eax, 0
je 0x100a5416
sub eax, 1
je 0x100a53f8
xor edi, edi
xor esi, esi
mov dword [ebp - 0x328], esi
mov dword [ebp - 0x32c], esi
jmp 0x100a5438
mov edi, dword [ecx + 0x14]
mov esi, dword [ecx + 0x18]
add edi, 0x14
mov eax, dword [ecx + 0x20]
add esi, 0x14
mov dword [ebp - 0x328], 0x64
sub eax, 0x28
jmp 0x100a5432
mov edi, dword [ecx + 0x14]
mov esi, dword [ecx + 0x18]
add edi, 0xa
mov eax, dword [ecx + 0x20]
add esi, 0xa
mov dword [ebp - 0x328], 0x50
sub eax, 0x14
mov dword [ebp - 0x32c], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x369], al
mov word [ebp - 0x36c], 0x1111
mov byte [ebp - 0x36a], 0x11
mov eax, dword [ecx]
push dword [ebp - 0x36c]
mov dword [ebp - 0x30c], edi
mov dword [ebp - 0x304], esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
add esi, dword [ebp - 0x32c]
add edi, dword [ebp - 0x328]
push esi
mov eax, dword [ecx]
push edi
push dword [ebp - 0x304]
push dword [ebp - 0x30c]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x330], 0
mov byte [ebp - 0x32e], 0
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x32d], al
push dword [ebp - 0x330]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
push esi
mov esi, dword [ebp - 0x30c]
push edi
mov eax, dword [ecx]
mov edi, dword [ebp - 0x304]
push edi
push esi
mov eax, dword [eax + 0x48]
call eax
mov ecx, dword [ebp - 0x314]
inc edi
mov word [ebp - 0x334], 0x3030
inc esi
mov byte [ebp - 0x332], 0x30
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x331], al
push dword [ebp - 0x334]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x32c]
add eax, 0xfffffffe
add eax, edi
push eax
mov eax, dword [ebp - 0x328]
add eax, 0xfffffffe
add eax, esi
push eax
push edi
push esi
call edx
mov edi, dword [ebp - 0x314]
xor edx, edx
mov dword [ebp - 0x310], edx
mov ecx, dword [edi + 0x30]
mov eax, ecx
sub eax, dword [edi + 0x2c]
sar eax, 2
test eax, eax
je 0x100a563a
mov eax, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x324]
add eax, 0xa
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x304]
add eax, 5
mov dword [ebp - 0x33c], eax
sub ecx, dword [edi + 0x2c]
sar ecx, 2
cmp edx, ecx
jb 0x100a55dc
push str.vector_subscript_out_of_range
push 0x100ec5a8
push 0
push 0x762
push 0x100ec970
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x100a55b7
int3
push 0
push 0x762
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807include_vector
push 0x100ec6dc
push str._vector_subscript_out_of_range_
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov edx, dword [ebp - 0x310]
add esp, 0x14
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + edx*4]
cmp ecx, dword [edi + 0x38]
jne 0x100a55eb
mov eax, esi
jmp 0x100a55f9
mov eax, dword [edi + 0xc]
movzx eax, al
shl eax, 0x18
or eax, 0x989898
push 0
push ecx
push eax
push dword [ebp - 0x33c]
mov ecx, 0x10129504
push dword [ebp - 0x308]
call fcn.100c79b0
mov ecx, dword [edi + 0x30]
mov eax, ecx
mov edx, dword [ebp - 0x310]
sub eax, dword [edi + 0x2c]
inc edx
add dword [ebp - 0x33c], 0x10
sar eax, 2
mov dword [ebp - 0x310], edx
cmp edx, eax
jb 0x100a5586
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + 0x20]
cmp eax, dword [ecx + 0x24]
je 0x100a6373
mov eax, dword [edi]
sub eax, 0
je 0x100a5699
sub eax, 1
je 0x100a566f
xor esi, esi
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x330], esi
mov dword [ebp - 0x334], esi
jmp 0x100a56cc
mov eax, dword [edi + 0x14]
mov esi, dword [edi + 0x18]
add eax, 0x8c
mov dword [ebp - 0x30c], eax
add esi, 0x14
mov eax, dword [edi + 0x1c]
sub eax, 0xa0
mov dword [ebp - 0x330], eax
mov eax, dword [edi + 0x20]
sub eax, 0x28
jmp 0x100a56c6
mov eax, dword [edi + 0x14]
mov ecx, 0x50
mov esi, dword [edi + 0x18]
add eax, 0x14
add eax, ecx
add esi, 0xa
mov dword [ebp - 0x30c], eax
mov eax, dword [edi + 0x1c]
sub eax, ecx
sub eax, 0x1e
mov dword [ebp - 0x330], eax
mov eax, dword [edi + 0x20]
sub eax, 0x14
mov dword [ebp - 0x334], eax
mov ecx, dword [0x10125c20]
mov eax, dword [edi + 0xc]
mov byte [ebp - 0x36d], al
mov word [ebp - 0x370], 0x1111
mov eax, dword [ecx]
mov byte [ebp - 0x36e], 0x11
push dword [ebp - 0x370]
mov dword [ebp - 0x304], esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
add esi, dword [ebp - 0x334]
mov edx, dword [ebp - 0x330]
add edx, dword [ebp - 0x30c]
mov eax, dword [ecx]
push esi
push edx
mov dword [ebp - 0x324], edx
mov edx, dword [ebp - 0x304]
mov eax, dword [eax + 0x40]
push edx
push dword [ebp - 0x30c]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [edi + 0xc]
mov byte [ebp - 0x355], al
mov word [ebp - 0x358], 0
mov eax, dword [ecx]
mov byte [ebp - 0x356], 0
push dword [ebp - 0x358]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
push esi
push dword [ebp - 0x324]
mov esi, dword [ebp - 0x304]
mov eax, dword [ecx]
push esi
push dword [ebp - 0x30c]
mov eax, dword [eax + 0x48]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [edi + 0xc]
lea edi, [esi + 1]
mov esi, dword [ebp - 0x30c]
mov byte [ebp - 0x351], al
inc esi
mov eax, dword [ecx]
mov word [ebp - 0x354], 0x3030
mov byte [ebp - 0x352], 0x30
push dword [ebp - 0x354]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x334]
add eax, 0xfffffffe
add eax, edi
push eax
mov eax, dword [ebp - 0x330]
add eax, 0xfffffffe
add eax, esi
push eax
push edi
push esi
call edx
mov esi, dword [ebp - 0x314]
mov eax, dword [esi + 0x38]
cmp dword [eax + 0x18], 0xf
lea ecx, [eax + 4]
jbe 0x100a57f0
mov ecx, dword [ecx]
mov edx, dword [eax + 0x14]
push 9
push str.whitelist
call fcn.10055f80
add esp, 8
test al, al
je 0x100a59b9
mov eax, dword [0x10125c70]
mov edi, 1
cmp dword [eax + 0x18], edi
jl 0x100a59b9
mov eax, dword [ebp - 0x304]
add eax, 0x10
mov dword [ebp - 0x310], eax
nop dword [eax]
mov ecx, dword [0x10125c18]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100a59a2
mov ecx, dword [0x10125ea4]
add ecx, 0xffffffcb
xor ecx, 0x76e410e0
cmp dword [ecx + eax], 0
jne 0x100a59a2
mov ecx, dword [0x10125c14]
lea edx, [ebp - 0x300]
push edx
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov dword [ebp - 4], 3
xorps xmm0, xmm0
push 8
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
call fcn.100dd760
lea ecx, [ebp - 0x4c]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x4c], eax
mov dword [eax], ecx
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
lea ecx, [ebp - 0x2f0]
mov dword [ebp - 4], 4
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a58d2
sub ecx, edx
lea eax, [ebp - 0x2f0]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.10035060
push 2
push 0x100ef608
lea ecx, [ebp - 0x4c]
call fcn.10035060
mov edx, edi
lea ecx, [ebp - 0x390]
call fcn.10027120
mov byte [ebp - 4], 5
lea ecx, [eax + 4]
cmp dword [eax + 0x18], 0xf
jbe 0x100a5916
mov ecx, dword [ecx]
push dword [eax + 0x14]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.10035060
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 4
call fcn.10034e10
mov eax, dword [ebp - 0x390]
push 8
push eax
mov dword [ebp - 0x390], 0
call fcn.100ddfc0
mov ecx, dword [esi + 0xc]
lea eax, [ebp - 0x4c]
add esp, 8
push 1
push eax
push ecx
mov eax, esp
push dword [ebp - 0x310]
mov byte [eax + 3], cl
mov ecx, 0x10129504
mov word [eax], 0xcdcd
mov byte [eax + 2], 0xcd
mov eax, dword [ebp - 0x324]
add eax, 0xfffffffb
push eax
call fcn.100c79b0
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.10034e10
mov eax, dword [ebp - 0x4c]
push 8
push eax
mov dword [ebp - 0x4c], 0
call fcn.100ddfc0
add esp, 8
mov eax, dword [0x10125c70]
inc edi
cmp edi, dword [eax + 0x18]
jg 0x100a59b9
add dword [ebp - 0x310], 0x10
jmp 0x100a5830
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x24]
mov edi, dword [eax + 0x20]
mov dword [ebp - 0x304], ecx
cmp edi, ecx
je 0x100a6362
mov eax, ecx
mov ecx, dword [edi]
test ecx, ecx
je 0x100a59f9
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x100a59e3
cmp ecx, eax
je 0x100a59f3
cmp byte [ecx + 0x74], 0
je 0x100a59f3
test byte [ecx + 0x58], 1
je 0x100a59f3
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x304]
add edi, 4
cmp edi, eax
jne 0x100a59d2
jmp 0x100a6362
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0x354], eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [0x10125c20]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x308]
mov byte [ebp - 0x341], al
mov eax, dword [ecx]
mov word [ebp - 0x344], 0xc0c
mov byte [ebp - 0x342], 0xc
push dword [ebp - 0x344]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x354]
add eax, edi
push eax
mov eax, dword [ebp - 0x358]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x350], 0x505
mov byte [ebp - 0x34e], 5
mov eax, dword [ecx + 0x18]
mov esi, dword [ecx + 0x20]
mov edi, dword [ecx + 0x1c]
mov dword [ebp - 0x344], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x308], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x34d], al
push dword [ebp - 0x350]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x344]
add eax, esi
mov esi, dword [ebp - 0x308]
push eax
lea eax, [edi + esi]
push eax
push dword [ebp - 0x344]
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x34c], 0x3c3c
mov byte [ebp - 0x34a], 0x3c
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 2
mov esi, dword [ecx + 0x14]
inc edi
mov dword [ebp - 0x308], eax
inc esi
mov eax, dword [ecx + 0x1c]
sub eax, 2
mov dword [ebp - 0x350], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x349], al
push dword [ebp - 0x34c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x350]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x35c], 0x2828
mov byte [ebp - 0x35a], 0x28
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 4
mov esi, dword [ecx + 0x14]
add edi, 2
mov dword [ebp - 0x308], eax
add esi, 2
mov eax, dword [ecx + 0x1c]
sub eax, 4
mov dword [ebp - 0x34c], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x359], al
push dword [ebp - 0x35c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x34c]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x348], 0x2828
mov byte [ebp - 0x346], 0x28
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 6
mov esi, dword [ecx + 0x14]
add edi, 3
mov dword [ebp - 0x308], eax
add esi, 3
mov eax, dword [ecx + 0x1c]
sub eax, 6
mov dword [ebp - 0x35c], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x345], al
push dword [ebp - 0x348]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x35c]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 8
mov esi, dword [ecx + 0x14]
add edi, 4
mov dword [ebp - 0x308], eax
mov eax, dword [ecx + 0x1c]
sub eax, 8
add esi, 4
mov dword [ebp - 0x348], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x31d], al
mov word [ebp - 0x320], 0x2828
mov byte [ebp - 0x31e], 0x28
mov eax, dword [ecx]
push dword [ebp - 0x320]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x348]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x338], 0x3c3c
mov byte [ebp - 0x336], 0x3c
mov eax, dword [ecx + 0x20]
mov edi, dword [ecx + 0x18]
sub eax, 0xa
mov esi, dword [ecx + 0x14]
add edi, 5
mov dword [ebp - 0x308], eax
add esi, 5
mov eax, dword [ecx + 0x1c]
sub eax, 0xa
mov dword [ebp - 0x320], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x335], al
push dword [ebp - 0x338]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x308]
add eax, edi
push eax
mov eax, dword [ebp - 0x320]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x314]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [ecx + 0x30]
je 0x100a6373
mov eax, dword [ecx]
sub eax, 0
je 0x100a5d7b
sub eax, 1
je 0x100a5d5d
xor edi, edi
xor esi, esi
mov dword [ebp - 0x320], esi
mov dword [ebp - 0x338], esi
jmp 0x100a5d9d
mov edi, dword [ecx + 0x14]
mov esi, dword [ecx + 0x18]
add edi, 0x14
mov eax, dword [ecx + 0x20]
add esi, 0x14
mov dword [ebp - 0x320], 0x64
sub eax, 0x28
jmp 0x100a5d97
mov edi, dword [ecx + 0x14]
mov esi, dword [ecx + 0x18]
add edi, 0xa
mov eax, dword [ecx + 0x20]
add esi, 0xa
mov dword [ebp - 0x320], 0x50
sub eax, 0x14
mov dword [ebp - 0x338], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x371], al
mov word [ebp - 0x374], 0x1111
mov byte [ebp - 0x372], 0x11
mov eax, dword [ecx]
push dword [ebp - 0x374]
mov dword [ebp - 0x304], edi
mov dword [ebp - 0x30c], esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
add esi, dword [ebp - 0x338]
add edi, dword [ebp - 0x320]
push esi
mov eax, dword [ecx]
push edi
push dword [ebp - 0x30c]
push dword [ebp - 0x304]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [ebp - 0x314]
mov word [ebp - 0x318], 0
mov byte [ebp - 0x316], 0
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x315], al
push dword [ebp - 0x318]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
push esi
mov esi, dword [ebp - 0x304]
push edi
mov eax, dword [ecx]
mov edi, dword [ebp - 0x30c]
push edi
push esi
mov eax, dword [eax + 0x48]
call eax
mov ecx, dword [ebp - 0x314]
inc edi
mov word [ebp - 0x31c], 0x3030
inc esi
mov byte [ebp - 0x31a], 0x30
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x10125c20]
mov byte [ebp - 0x319], al
push dword [ebp - 0x31c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x338]
add eax, 0xfffffffe
add eax, edi
push eax
mov eax, dword [ebp - 0x320]
add eax, 0xfffffffe
add eax, esi
push eax
push edi
push esi
call edx
mov edi, dword [ebp - 0x314]
xor edx, edx
mov dword [ebp - 0x31c], edx
mov ecx, dword [edi + 0x30]
mov eax, ecx
sub eax, dword [edi + 0x2c]
sar eax, 2
test eax, eax
je 0x100a5fa4
mov eax, dword [ebp - 0x304]
mov esi, dword [ebp - 0x324]
add eax, 0xa
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x30c]
add eax, 5
mov dword [ebp - 0x318], eax
nop dword [eax + eax]
sub ecx, dword [edi + 0x2c]
sar ecx, 2
cmp edx, ecx
jb 0x100a5f46
push str.vector_subscript_out_of_range
push 0x100ec5a8
push 0
push 0x762
push 0x100ec970
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x100a5f21
int3
push 0
push 0x762
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807include_vector
push 0x100ec6dc
push str._vector_subscript_out_of_range_
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov edx, dword [ebp - 0x31c]
add esp, 0x14
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + edx*4]
cmp ecx, dword [edi + 0x38]
jne 0x100a5f55
mov eax, esi
jmp 0x100a5f63
mov eax, dword [edi + 0xc]
movzx eax, al
shl eax, 0x18
or eax, 0x989898
push 0
push ecx
push eax
push dword [ebp - 0x318]
mov ecx, 0x10129504
push dword [ebp - 0x308]
call fcn.100c79b0
mov ecx, dword [edi + 0x30]
mov eax, ecx
mov edx, dword [ebp - 0x31c]
sub eax, dword [edi + 0x2c]
inc edx
add dword [ebp - 0x318], 0x10
sar eax, 2
mov dword [ebp - 0x31c], edx
cmp edx, eax
jb 0x100a5ef0
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + 0x20]
cmp eax, dword [ecx + 0x24]
je 0x100a6373
mov eax, dword [edi]
sub eax, 0
je 0x100a6003
sub eax, 1
je 0x100a5fd9
xor esi, esi
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], esi
jmp 0x100a6036
mov eax, dword [edi + 0x14]
mov esi, dword [edi + 0x18]
add eax, 0x8c
mov dword [ebp - 0x30c], eax
add esi, 0x14
mov eax, dword [edi + 0x1c]
sub eax, 0xa0
mov dword [ebp - 0x318], eax
mov eax, dword [edi + 0x20]
sub eax, 0x28
jmp 0x100a6030
mov eax, dword [edi + 0x14]
mov ecx, 0x50
mov esi, dword [edi + 0x18]
add eax, 0x14
add eax, ecx
add esi, 0xa
mov dword [ebp - 0x30c], eax
mov eax, dword [edi + 0x1c]
sub eax, ecx
sub eax, 0x1e
mov dword [ebp - 0x318], eax
mov eax, dword [edi + 0x20]
sub eax, 0x14
mov dword [ebp - 0x31c], eax
mov ecx, dword [0x10125c20]
mov eax, dword [edi + 0xc]
mov byte [ebp - 0x33d], al
mov word [ebp - 0x340], 0x1111
mov eax, dword [ecx]
mov byte [ebp - 0x33e], 0x11
push dword [ebp - 0x340]
mov dword [ebp - 0x304], esi
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
add esi, dword [ebp - 0x31c]
mov edx, dword [ebp - 0x318]
add edx, dword [ebp - 0x30c]
mov eax, dword [ecx]
push esi
push edx
mov dword [ebp - 0x340], edx
mov edx, dword [ebp - 0x304]
mov eax, dword [eax + 0x40]
push edx
push dword [ebp - 0x30c]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [edi + 0xc]
mov byte [ebp - 0x339], al
mov word [ebp - 0x33c], 0
mov eax, dword [ecx]
mov byte [ebp - 0x33a], 0
push dword [ebp - 0x33c]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
push esi
push dword [ebp - 0x340]
mov esi, dword [ebp - 0x304]
mov eax, dword [ecx]
push esi
push dword [ebp - 0x30c]
mov eax, dword [eax + 0x48]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [edi + 0xc]
lea edi, [esi + 1]
mov esi, dword [ebp - 0x30c]
mov byte [ebp - 0x30d], al
inc esi
mov eax, dword [ecx]
mov word [ebp - 0x310], 0x3030
mov byte [ebp - 0x30e], 0x30
push dword [ebp - 0x310]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10125c20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x31c]
add eax, 0xfffffffe
add eax, edi
push eax
mov eax, dword [ebp - 0x318]
add eax, 0xfffffffe
add eax, esi
push eax
push edi
push esi
call edx
mov esi, dword [ebp - 0x314]
mov eax, dword [esi + 0x38]
cmp dword [eax + 0x18], 0xf
lea ecx, [eax + 4]
jbe 0x100a615a
mov ecx, dword [ecx]
mov edx, dword [eax + 0x14]
push 9
push str.whitelist
call fcn.10055f80
add esp, 8
test al, al
je 0x100a631f
mov eax, dword [0x10125c70]
mov edi, 1
cmp dword [eax + 0x18], edi
jl 0x100a631f
mov eax, dword [ebp - 0x304]
add eax, 0x10
mov dword [ebp - 0x324], eax
mov ecx, dword [0x10125c18]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100a6308
mov ecx, dword [0x10125ea4]
add ecx, 0xffffffcb
xor ecx, 0x76e410e0
cmp dword [ecx + eax], 0
jne 0x100a6308
mov ecx, dword [0x10125c14]
lea edx, [ebp - 0x1a8]
push edx
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
push 8
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
call fcn.100dd760
lea ecx, [ebp - 0x30]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x30], eax
mov dword [eax], ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea ecx, [ebp - 0x198]
mov dword [ebp - 4], 1
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a6238
sub ecx, edx
lea eax, [ebp - 0x198]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10035060
push 2
push 0x100ef608
lea ecx, [ebp - 0x30]
call fcn.10035060
mov edx, edi
lea ecx, [ebp - 0x3ac]
call fcn.10027120
mov byte [ebp - 4], 2
lea ecx, [eax + 4]
cmp dword [eax + 0x18], 0xf
jbe 0x100a627c
mov ecx, dword [ecx]
push dword [eax + 0x14]
push ecx
lea ecx, [ebp - 0x30]
call fcn.10035060
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 1
call fcn.10034e10
mov eax, dword [ebp - 0x3ac]
push 8
push eax
mov dword [ebp - 0x3ac], 0
call fcn.100ddfc0
mov ecx, dword [esi + 0xc]
lea eax, [ebp - 0x30]
add esp, 8
push 1
push eax
push ecx
mov eax, esp
push dword [ebp - 0x324]
mov byte [eax + 3], cl
mov ecx, 0x10129504
mov word [eax], 0xcdcd
mov byte [eax + 2], 0xcd
mov eax, dword [ebp - 0x340]
add eax, 0xfffffffb
push eax
call fcn.100c79b0
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
call fcn.10034e10
mov eax, dword [ebp - 0x30]
push 8
push eax
mov dword [ebp - 0x30], 0
call fcn.100ddfc0
add esp, 8
mov eax, dword [0x10125c70]
inc edi
cmp edi, dword [eax + 0x18]
jg 0x100a631f
add dword [ebp - 0x324], 0x10
jmp 0x100a6196
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x24]
mov edi, dword [eax + 0x20]
mov dword [ebp - 0x304], ecx
cmp edi, ecx
je 0x100a6362
mov eax, ecx
mov ecx, dword [edi]
test ecx, ecx
je 0x100a635b
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x100a6345
cmp ecx, eax
je 0x100a6355
cmp byte [ecx + 0x74], 0
je 0x100a6355
test byte [ecx + 0x58], 1
je 0x100a6355
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x304]
add edi, 4
cmp edi, eax
jne 0x100a6334
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x100a6373
cmp byte [ecx + 0x74], 0
je 0x100a6373
mov eax, dword [ecx]
call dword [eax]
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.100dd730
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret