Function at 0x1010ab23
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 0x101630be
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x170
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1028a868]
push esi
push edi
cmp eax, 3
ja case.default.0x10108d1a
jmp dword [eax*4 + 0x1010c3f4]
mov eax, dword [0x1028db88]
vxorps xmm0, xmm0, xmm0
push ecx
push str.ConfigSettingsTable
mov ecx, dword [eax + 0x3e58]
vmovss dword [ebp - 0x40], xmm0
vmovss dword [ebp - 0xc0], xmm0
vmovss dword [ebp - 0xbc], xmm0
call fcn.10044d40
vmovss xmm0, dword [ebp - 0x40]
push ecx
vmovss dword [esp], xmm0
lea ecx, [ebp - 0xc0]
mov edx, eax
push ecx
push 0
push 2
mov ecx, str.ConfigSettingsTable
call fcn.1006f020
add esp, 0x10
test al, al
je case.default.0x10108d1a
call fcn.100732e0
vmovss xmm0, dword [0x10279330]
xor dl, dl
mov ecx, str.Config
vmovaps xmm1, xmm0
vmovss dword [ebp - 0x44], xmm0
call fcn.100f5820
vmovss xmm0, dword [0x1027965c]
vmovss dword [ebp - 0x20], xmm0
test al, al
je 0x1010a07f
mov edx, 1
mov ecx, str.Configs_folder
call fcn.100f6700
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteA]
test al, al
je 0x10108de4
push 1
push 0
push 0
mov ecx, 0x1033a630
call fcn.1006ee50
push eax
push 0
push 0
call esi
mov edx, 0xa
mov ecx, str.Visuals_folder
call fcn.100f6700
test al, al
je 0x10108e0e
push 1
push 0
push 0
mov ecx, 0x1033a648
call fcn.1006ee50
push eax
push 0
push 0
call esi
call fcn.10076b40
mov eax, dword [0x1028db88]
lea edx, [ebp - 0x38]
vmulss xmm0, xmm0, dword [0x102792ac]
vaddss xmm2, xmm0, dword [0x10279390]
vmovss xmm3, dword [0x1028a890]
mov dword [ebp - 0x38], str.GENERAL
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], str.VISUALS
sub esp, 8
mov eax, dword [eax + 0x3e58]
vmovss xmm0, dword [eax + 0xf4]
vsubss xmm1, xmm0, dword [eax + 0x18]
vaddss xmm0, xmm1, dword [eax + 0x7c]
vmovss xmm1, dword [0x10279420]
mov eax, esp
sub esp, 8
vmovss dword [ebp - 0x48], xmm1
vmovss dword [eax], xmm1
vmovss dword [eax + 4], xmm0
mov eax, esp
sub esp, 0xc
mov dword [ebp - 0x28], esp
vmovss dword [eax], xmm2
vmovss dword [eax + 4], xmm3
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
sub ecx, edx
mov dword [ebp - 4], 0
sub esp, 0xc
mov byte [ebp - 0x11], 0
mov edi, esp
mov dword [ebp - 0x24], ecx
mov eax, ecx
sar eax, 2
mov dword [ebp - 0x2c], eax
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
test eax, eax
je 0x10108ef9
push eax
mov ecx, edi
call fcn.100a8a00
push dword [ebp - 0x24]
mov esi, dword [edi]
lea eax, [ebp - 0x38]
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x2c]
add esp, 0xc
lea eax, [esi + eax*4]
mov dword [edi + 4], eax
mov dl, byte [ebp - 0x11]
mov ecx, 0x1028a86c
mov dword [ebp - 4], 0xffffffff
call fcn.100f5c60
mov eax, dword [0x1028a86c]
add esp, 0x28
sub eax, 0
je 0x10109756
sub eax, 1
jne 0x1010a07f
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1028d83c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1033f714]
cmp eax, dword [ecx + 4]
jle 0x10108f73
push 0x1033f714
call fcn.1015b77a
add esp, 4
cmp dword [0x1033f714], 0xffffffff
jne 0x10108f73
push 0x10172540
call fcn.1015bae3
add esp, 4
push 0x1033f714
call fcn.1015b729
add esp, 4
push 0
push 9
sub esp, 0xc
mov edx, 0x1028a4ac
mov eax, esp
mov ecx, str.Config_name
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
call fcn.100fb730
add esp, 0x14
mov edx, 0x1c
mov ecx, str.Create
call fcn.100f6700
test al, al
je 0x10109052
cmp dword [0x1028a4bc], 0
jbe 0x10109052
push 0x102702c4
mov edx, 0x1033a648
lea ecx, [ebp - 0x60]
call fcn.100da2d0
add esp, 4
push 0x1028a4ac
mov edx, eax
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0xb8]
call fcn.100eb940
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x16
call fcn.100ecca0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x17
call fcn.100e39a0
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x11], al
call fcn.100eb8a0
lea ecx, [ebp - 0xb8]
call fcn.10093db0
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10093db0
cmp byte [ebp - 0x11], 0
jne 0x10109048
push ecx
push 0x1028a4ac
mov ecx, 0x1033a600
call fcn.100e96c0
mov ecx, 0x1028a4ac
call fcn.10094800
push ecx
push 0x1033a648
lea ecx, [ebp - 0x80]
call fcn.100ecca0
lea eax, [ebp - 0x80]
mov dword [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0xc0]
call fcn.10100ea0
lea ecx, [ebp - 0x80]
call fcn.100eb8a0
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x38]
call fcn.1010e2c0
mov eax, ecx
lea ecx, [ebp - 0xcc]
push eax
call fcn.101010c0
lea ecx, [ebp - 0x38]
call fcn.100c5cc0
sub esp, 8
lea eax, [ebp - 0xc0]
mov ecx, esp
push eax
call fcn.1010e2c0
lea ecx, [ebp - 0xdc]
call fcn.101010f0
add esp, 8
mov byte [ebp - 4], 0x1c
mov esi, dword [ebp - 0xcc]
cmp esi, dword [ebp - 0xdc]
je 0x101096ef
vmovss xmm0, dword [0x1027944c]
vmovss dword [ebp - 0x24], xmm0
vmovss xmm0, dword [0x10279438]
vmovss dword [ebp - 0x168], xmm0
vmovss xmm0, dword [0x10279480]
vmovss dword [ebp - 0xd4], xmm0
vmovss xmm0, dword [0x10279430]
vmovss dword [ebp - 0x2c], xmm0
vmovss xmm0, dword [0x102794c8]
vmovss dword [ebp - 0xc4], xmm0
vmovss xmm0, dword [0x102794f0]
vmovss dword [ebp - 0x9c], xmm0
vmovss xmm0, dword [0x10279488]
mov edi, 0x1028ab9c
vmovss dword [ebp - 0x28], xmm0
mov ecx, esi
call fcn.10100ae0
test al, al
je 0x10109196
push ecx
push 0x1033a660
lea ecx, [ebp - 0x80]
call fcn.100ecca0
mov byte [ebp - 4], 0x1d
add esi, 0x20
mov eax, dword [ebp - 0x18]
mov ecx, esi
or eax, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x110]
push eax
call fcn.10100a30
or dword [ebp - 0x18], 0x20
lea edx, [ebp - 0x80]
mov ecx, eax
call fcn.10100ad0
test al, al
je 0x10109199
mov byte [ebp - 0x11], 0
jmp 0x1010919d
add esi, 0x20
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 0x18]
test al, 0x20
je 0x101091b8
and eax, 0xffffffdf
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x18], eax
call fcn.100eb8a0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x1c
test al, 0x10
je 0x101091d1
and eax, 0xffffffef
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x18], eax
call fcn.100eb8a0
cmp byte [ebp - 0x11], 0
jne 0x101096d2
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
call fcn.101009d0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, eax
call fcn.100e3150
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x20
call fcn.100eb8a0
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100947e0
lea ecx, [ebp - 0xb8]
mov edx, dword [eax]
lea eax, [ebp - 0x14c]
push eax
call fcn.100947e0
push edx
lea ecx, [ebp - 0xb8]
mov eax, dword [eax]
sub eax, dword [0x1033a670]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.100db370
lea ecx, [ebp - 0x50]
call fcn.10052a10
vmovss xmm1, dword [ebp - 0x24]
lea ecx, [ebp - 0xf0]
vmovss dword [ebp - 0xf0], xmm1
vmovss xmm0, dword [eax + 4]
vmovss dword [ebp - 0x1c], xmm0
vaddss xmm0, xmm0, dword [ebp - 0x168]
vmovss dword [ebp - 0xec], xmm0
call fcn.10052a50
lea ecx, [ebp - 0xb8]
call fcn.1006ee50
mov esi, eax
mov ecx, 0x1033a600
lea eax, [ebp - 0x80]
push eax
call fcn.10101140
mov edx, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xb8]
call fcn.100973c0
test al, al
mov ecx, 0x1028ab8c
push esi
cmovne ecx, edi
push ecx
call fcn.10077e20
add esp, 8
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x80]
call fcn.10093db0
mov eax, dword [0x1028db88]
lea ecx, [ebp - 0xf8]
mov eax, dword [eax + 0x3e58]
vmovss xmm0, dword [eax + 0x1c]
vsubss xmm0, xmm0, dword [ebp - 0xd4]
vmovss dword [ebp - 0xf8], xmm0
vmovss xmm0, dword [ebp - 0x1c]
vaddss xmm0, xmm0, dword [ebp - 0x2c]
vmovss dword [ebp - 0xf4], xmm0
call fcn.10052a50
vmovss xmm0, dword [ebp - 0x20]
sub esp, 0x10
mov ecx, esp
push ecx
vmovss dword [esp], xmm0
vmovss xmm0, dword [ebp - 0x44]
vmovaps xmm3, xmm0
vmovaps xmm2, xmm0
vmovaps xmm1, xmm0
call fcn.10040040
mov ecx, 0x10273258
call fcn.100f5620
add esp, 0x10
test al, al
je 0x1010937c
push 0x1d
push str.Confirmation_DeleteVisual
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x22
call fcn.1006ee50
mov ecx, eax
call fcn.10053e70
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x20
call fcn.10093db0
mov eax, dword [0x1028db88]
lea ecx, [ebp - 0xe4]
vmovss xmm1, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3e58]
vmovss xmm0, dword [eax + 0x1c]
vsubss xmm0, xmm0, dword [ebp - 0xc4]
vmovss dword [ebp - 0xe4], xmm0
vaddss xmm0, xmm1, dword [ebp - 0x2c]
vmovss dword [ebp - 0xe0], xmm0
call fcn.10052a50
vmovss xmm0, dword [ebp - 0x20]
sub esp, 0x10
mov ecx, esp
push ecx
vmovss dword [esp], xmm0
vmovss xmm0, dword [ebp - 0x44]
vmovaps xmm3, xmm0
vmovaps xmm2, xmm0
vmovaps xmm1, xmm0
call fcn.10040040
mov ecx, 0x102732f8
call fcn.100f5620
add esp, 0x10
test al, al
je 0x1010946c
lea eax, [ebp - 0x80]
mov ecx, 0x1033a600
push eax
call fcn.10101140
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.100973c0
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x11], al
call fcn.10093db0
cmp byte [ebp - 0x11], 0
jne 0x1010945a
push 0x1b
push str.Confirmation_SaveVisual
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x180]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x23
call fcn.1006ee50
mov ecx, eax
call fcn.10053e70
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0x20
call fcn.10093db0
jmp 0x1010946c
push ecx
lea eax, [ebp - 0xb8]
mov ecx, 0x1033a600
push eax
call fcn.100e96c0
mov eax, dword [0x1028db88]
lea ecx, [ebp - 0x68]
vmovss xmm1, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3e58]
vmovss xmm0, dword [eax + 0x1c]
vsubss xmm0, xmm0, dword [ebp - 0x9c]
vmovss dword [ebp - 0x68], xmm0
vaddss xmm0, xmm1, dword [ebp - 0x2c]
vmovss dword [ebp - 0x64], xmm0
call fcn.10052a50
vmovss xmm0, dword [ebp - 0x20]
sub esp, 0x10
mov ecx, esp
push ecx
vmovss dword [esp], xmm0
vmovss xmm0, dword [ebp - 0x44]
vmovaps xmm3, xmm0
vmovaps xmm2, xmm0
vmovaps xmm1, xmm0
call fcn.10040040
mov ecx, 0x102732d4
call fcn.100f5620
add esp, 0x10
test al, al
je 0x101094f3
push ecx
lea eax, [ebp - 0xb8]
mov ecx, 0x1033a600
push eax
call fcn.100e9e60
mov ecx, 0x1028a858
call fcn.1010f520
push 0x1b
push str.Confirmation_SaveVisual
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
push 0x10041
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.1006ee50
mov ecx, eax
call fcn.100545a0
add esp, 4
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x20
call fcn.10093db0
cmp byte [ebp - 0x11], 0
je 0x101095b9
push 0x24
push str.Do_you_really_want_to_override__
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x25
call fcn.1006ee50
push eax
call fcn.10077d50
add esp, 4
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x80]
call fcn.10093db0
mov edx, 1
mov ecx, str.Yes__override
call fcn.100f6700
test al, al
je 0x1010959c
push ecx
lea eax, [ebp - 0xb8]
mov ecx, 0x1033a600
push eax
call fcn.100e96c0
call fcn.100543a0
mov edx, 0xa
mov ecx, 0x1026fdf4
call fcn.100f6700
test al, al
je 0x101095b4
call fcn.100543a0
call fcn.100546e0
push 0x1d
push str.Confirmation_DeleteVisual
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
push 0x10041
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.1006ee50
mov ecx, eax
call fcn.100545a0
add esp, 4
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x20
call fcn.10093db0
cmp byte [ebp - 0x11], 0
je 0x1010967e
push 0x22
push str.Do_you_really_want_to_delete__
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x27
call fcn.1006ee50
push eax
call fcn.10077d50
add esp, 4
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x80]
call fcn.10093db0
mov edx, 1
mov ecx, str.Yes__delete
call fcn.100f6700
test al, al
je 0x10109661
lea eax, [ebp - 0xb8]
mov ecx, 0x1033a600
push eax
call fcn.100eaac0
call fcn.100543a0
mov edx, 0xa
mov ecx, 0x1026fdf4
call fcn.100f6700
test al, al
je 0x10109679
call fcn.100543a0
call fcn.100546e0
vmovss xmm0, dword [ebp - 0x48]
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [ebp - 0x1c]
lea ecx, [ebp - 0x88]
vmovss dword [ebp - 0x84], xmm0
call fcn.10052a50
vmovss xmm0, dword [ebp - 0x40]
sub esp, 8
mov eax, esp
vmovss dword [eax], xmm0
vmovss xmm0, dword [ebp - 0x28]
vmovss dword [eax + 4], xmm0
call fcn.100f4940
add esp, 8
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xb8]
call fcn.10093db0
lea ecx, [ebp - 0xcc]
call fcn.10101010
mov esi, dword [ebp - 0xcc]
cmp esi, dword [ebp - 0xdc]
jne 0x10109144
mov edi, dword [ebp - 0xd8]
or esi, 0xffffffff
test edi, edi
je 0x1010971b
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1010971b
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1010971b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0xc8]
test edi, edi
je 0x10109744
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10109744
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x10109744
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0xbc]
jmp 0x1010a05d
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1028d83c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1033f708]
cmp eax, dword [ecx + 4]
jle 0x101097a2
push 0x1033f708
call fcn.1015b77a
add esp, 4
cmp dword [0x1033f708], 0xffffffff
jne 0x101097a2
push 0x101725a0
call fcn.1015bae3
add esp, 4
push 0x1033f708
call fcn.1015b729
add esp, 4
push 0
push 9
sub esp, 0xc
mov edx, 0x1028a524
mov eax, esp
mov ecx, str.Config_name
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
call fcn.100fb730
add esp, 0x14
mov edx, 0x1c
mov ecx, str.Create
call fcn.100f6700
test al, al
je 0x10109888
cmp dword [0x1028a534], 0
jbe 0x10109888
push 0x102702c4
mov edx, 0x1033a630
lea ecx, [ebp - 0x110]
call fcn.100da2d0
add esp, 4
push 0x1028a524
mov edx, eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x180]
call fcn.100eb940
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 2
call fcn.100ecca0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 3
call fcn.100e39a0
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x11], al
call fcn.100eb8a0
lea ecx, [ebp - 0x180]
call fcn.10093db0
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0xffffffff
call fcn.10093db0
cmp byte [ebp - 0x11], 0
jne 0x1010987e
push 1
push 0x1028a524
mov ecx, 0x1033a600
call fcn.100e83e0
mov ecx, 0x1028a524
call fcn.10094800
push ecx
push 0x1033a630
lea ecx, [ebp - 0x80]
call fcn.100ecca0
lea eax, [ebp - 0x80]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0xdc]
call fcn.10100ea0
lea ecx, [ebp - 0x80]
call fcn.100eb8a0
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x88]
call fcn.1010e2c0
mov eax, ecx
lea ecx, [ebp - 0xcc]
push eax
call fcn.101010c0
lea ecx, [ebp - 0x88]
call fcn.100c5cc0
sub esp, 8
lea eax, [ebp - 0xdc]
mov ecx, esp
push eax
call fcn.1010e2c0
lea ecx, [ebp - 0xc0]
call fcn.101010f0
add esp, 8
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0xcc]
cmp esi, dword [ebp - 0xc0]
je 0x10109ffb
vmovss xmm0, dword [0x1027944c]
vmovss dword [ebp - 0x28], xmm0
vmovss xmm0, dword [0x10279438]
vmovss dword [ebp - 0x9c], xmm0
vmovss xmm0, dword [0x10279480]
vmovss dword [ebp - 0xc4], xmm0
vmovss xmm0, dword [0x10279430]
vmovss dword [ebp - 0x24], xmm0
vmovss xmm0, dword [0x10279488]
mov edi, 0x1028ab9c
vmovss dword [ebp - 0xd4], xmm0
mov ecx, esi
call fcn.10100ae0
test al, al
je 0x101099b5
push ecx
push 0x1033a660
lea ecx, [ebp - 0x80]
call fcn.100ecca0
mov byte [ebp - 4], 9
add esi, 0x20
mov eax, dword [ebp - 0x18]
mov ecx, esi
or eax, 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x180]
push eax
call fcn.10100a30
or dword [ebp - 0x18], 2
lea edx, [ebp - 0x80]
mov ecx, eax
call fcn.10100ad0
test al, al
je 0x101099b8
mov byte [ebp - 0x11], 0
jmp 0x101099bc
add esi, 0x20
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 0x18]
test al, 2
je 0x101099d7
and eax, 0xfffffffd
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x18], eax
call fcn.100eb8a0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 8
test al, 1
je 0x101099f0
and eax, 0xfffffffe
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x18], eax
call fcn.100eb8a0
cmp byte [ebp - 0x11], 0
jne 0x10109fde
lea eax, [ebp - 0x180]
mov ecx, esi
push eax
call fcn.101009d0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xa
push ecx
mov ecx, eax
call fcn.100e3150
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0xc
call fcn.100eb8a0
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100947e0
lea ecx, [ebp - 0xb8]
mov edx, dword [eax]
lea eax, [ebp - 0xe8]
push eax
call fcn.100947e0
push edx
lea ecx, [ebp - 0xb8]
mov eax, dword [eax]
sub eax, dword [0x1033a670]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.100db370
lea ecx, [ebp - 0x50]
call fcn.10052a10
vmovss xmm1, dword [ebp - 0x28]
lea ecx, [ebp - 0x88]
vmovss dword [ebp - 0x88], xmm1
vmovss xmm0, dword [eax + 4]
vmovss dword [ebp - 0x2c], xmm0
vaddss xmm0, xmm0, dword [ebp - 0x9c]
vmovss dword [ebp - 0x84], xmm0
call fcn.10052a50
lea ecx, [ebp - 0xb8]
call fcn.1006ee50
mov esi, eax
mov ecx, 0x1033a600
lea eax, [ebp - 0x110]
push eax
call fcn.100a2a70
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb8]
call fcn.100973c0
test al, al
mov ecx, 0x1028ab8c
push esi
cmovne ecx, edi
push ecx
call fcn.10077e20
add esp, 8
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x110]
call fcn.10093db0
mov eax, dword [0x1028db88]
lea ecx, [ebp - 0x68]
mov eax, dword [eax + 0x3e58]
vmovss xmm0, dword [eax + 0x1c]
vsubss xmm0, xmm0, dword [ebp - 0xc4]
vmovss dword [ebp - 0x68], xmm0
vmovss xmm0, dword [ebp - 0x2c]
vaddss xmm0, xmm0, dword [ebp - 0x24]
vmovss dword [ebp - 0x64], xmm0
call fcn.10052a50
vmovss xmm0, dword [ebp - 0x20]
sub esp, 0x10
mov ecx, esp
push ecx
vmovss dword [esp], xmm0
vmovss xmm0, dword [ebp - 0x44]
vmovaps xmm3, xmm0
vmovaps xmm2, xmm0
vmovaps xmm1, xmm0
call fcn.10040040
mov ecx, 0x10273258
call fcn.100f5620
add esp, 0x10
test al, al
je 0x10109b9b
push 0x1d
push str.Confirmation_DeleteConfig
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x110]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.1006ee50
mov ecx, eax
call fcn.10053e70
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xc
call fcn.10093db0
mov eax, dword [0x1028db88]
lea ecx, [ebp - 0xe4]
vmovss xmm1, dword [ebp - 0x2c]
mov eax, dword [eax + 0x3e58]
vmovss xmm0, dword [eax + 0x1c]
vsubss xmm0, xmm0, dword [0x102794c8]
vmovss dword [ebp - 0xe4], xmm0
vaddss xmm0, xmm1, dword [ebp - 0x24]
vmovss dword [ebp - 0xe0], xmm0
call fcn.10052a50
vmovss xmm0, dword [ebp - 0x20]
sub esp, 0x10
mov ecx, esp
push ecx
vmovss dword [esp], xmm0
vmovss xmm0, dword [ebp - 0x44]
vmovaps xmm3, xmm0
vmovaps xmm2, xmm0
vmovaps xmm1, xmm0
call fcn.10040040
mov ecx, 0x102732f8
call fcn.100f5620
add esp, 0x10
test al, al
je 0x10109cfa
lea eax, [ebp - 0x80]
mov ecx, 0x1033a600
push eax
call fcn.100a2a70
mov byte [ebp - 4], 0xf
mov edx, eax
mov ecx, dword [ebp - 0x18]
or ecx, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0xb8]
call fcn.100973c0
test al, al
je 0x10109c6b
lea eax, [ebp - 0x110]
mov ecx, 0x1033a600
push eax
call fcn.10101140
or dword [ebp - 0x18], 8
mov edx, 0x10193a42
mov ecx, eax
call fcn.100e1e00
mov byte [ebp - 0x11], 0
test al, al
jne 0x10109c6f
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 0x18]
test al, 8
je 0x10109c8a
and eax, 0xfffffff7
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x18], eax
call fcn.10093db0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0xc
test al, 4
je 0x10109ca3
and eax, 0xfffffffb
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x18], eax
call fcn.10093db0
cmp byte [ebp - 0x11], 0
je 0x10109ce7
push 0x1b
push str.Confirmation_SaveConfig
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x128]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.1006ee50
mov ecx, eax
call fcn.10053e70
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0xc
call fcn.10093db0
jmp 0x10109cfa
push 1
lea eax, [ebp - 0xb8]
mov ecx, 0x1033a600
push eax
call fcn.100e83e0
mov eax, dword [0x1028db88]
lea ecx, [ebp - 0xf8]
vmovss xmm1, dword [ebp - 0x2c]
mov eax, dword [eax + 0x3e58]
vmovss xmm0, dword [eax + 0x1c]
vsubss xmm0, xmm0, dword [0x102794f0]
vmovss dword [ebp - 0xf8], xmm0
vaddss xmm0, xmm1, dword [ebp - 0x24]
vmovss dword [ebp - 0xf4], xmm0
call fcn.10052a50
vmovss xmm0, dword [ebp - 0x20]
sub esp, 0x10
mov ecx, esp
push ecx
vmovss dword [esp], xmm0
vmovss xmm0, dword [ebp - 0x44]
vmovaps xmm3, xmm0
vmovaps xmm2, xmm0
vmovaps xmm1, xmm0
call fcn.10040040
mov ecx, 0x102732d4
call fcn.100f5620
add esp, 0x10
test al, al
je 0x10109d8b
push 1
lea eax, [ebp - 0xb8]
mov ecx, 0x1033a600
push eax
call fcn.100e8bb0
mov ecx, 0x1028a858
call fcn.1010f520
push 0x1b
push str.Confirmation_SaveConfig
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
mov byte [ebp - 4], 0x11
cmp dword [eax + 0x14], 0x10
jb 0x10109daf
mov eax, dword [eax]
push 0x10041
mov ecx, eax
call fcn.100545a0
mov byte [ebp - 4], 0xc
add esp, 4
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x10109dfc
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10109def
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b698
push ecx
push edx
call fcn.1015b698
mov al, byte [ebp - 0x11]
add esp, 8
test al, al
je 0x10109e8a
push 0x24
push str.Do_you_really_want_to_override__
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x110]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x12
call fcn.1006ee50
push eax
call fcn.10077d50
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x110]
call fcn.10093db0
mov edx, 1
mov ecx, str.Yes__override
call fcn.100f6700
test al, al
je 0x10109e6d
push 1
lea eax, [ebp - 0xb8]
mov ecx, 0x1033a600
push eax
call fcn.100e83e0
call fcn.100543a0
mov edx, 0xa
mov ecx, 0x1026fdf4
call fcn.100f6700
test al, al
je 0x10109e85
call fcn.100543a0
call fcn.100546e0
push 0x1d
push str.Confirmation_DeleteConfig
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 0x10
jb 0x10109eae
mov eax, dword [eax]
push 0x10041
mov ecx, eax
call fcn.100545a0
mov byte [ebp - 4], 0xc
add esp, 4
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x10109efb
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10109eee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b698
push ecx
push edx
call fcn.1015b698
mov al, byte [ebp - 0x11]
add esp, 8
test al, al
je 0x10109f87
push 0x22
push str.Do_you_really_want_to_delete__
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x110]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.1006ee50
push eax
call fcn.10077d50
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x110]
call fcn.10093db0
mov edx, 1
mov ecx, str.Yes__delete
call fcn.100f6700
test al, al
je 0x10109f6a
lea eax, [ebp - 0xb8]
mov ecx, 0x1033a600
push eax
call fcn.100ea880
call fcn.100543a0
mov edx, 0xa
mov ecx, 0x1026fdf4
call fcn.100f6700
test al, al
je 0x10109f82
call fcn.100543a0
call fcn.100546e0
vmovss xmm0, dword [ebp - 0x48]
vmovss dword [ebp - 0xf0], xmm0
vmovss xmm0, dword [ebp - 0x2c]
lea ecx, [ebp - 0xf0]
vmovss dword [ebp - 0xec], xmm0
call fcn.10052a50
vmovss xmm0, dword [ebp - 0x40]
sub esp, 8
mov eax, esp
vmovss dword [eax], xmm0
vmovss xmm0, dword [ebp - 0xd4]
vmovss dword [eax + 4], xmm0
call fcn.100f4940
add esp, 8
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xb8]
call fcn.10093db0
lea ecx, [ebp - 0xcc]
call fcn.10101010
mov esi, dword [ebp - 0xcc]
cmp esi, dword [ebp - 0xc0]
jne 0x10109963
mov edi, dword [ebp - 0xbc]
or esi, 0xffffffff
test edi, edi
je 0x1010a027
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1010a027
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1010a027
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0xc8]
test edi, edi
je 0x1010a050
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1010a050
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x1010a050
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0xd8]
test edi, edi
je 0x1010a07f
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x1010a07f
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x1010a07f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
call fcn.100f5be0
mov esi, dword [0x1028db88]
mov dword [ebp - 0x5c], 0
mov eax, dword [esi + 0x3e58]
lea ecx, [esi + 0x476c]
vmovss xmm0, dword [eax + 0xf0]
vsubss xmm0, xmm0, dword [eax + 0x14]
vaddss xmm0, xmm0, dword [eax + 0x78]
vaddss xmm1, xmm0, dword [0x1027942c]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e58]
vmovss xmm0, dword [eax + 0x14]
vsubss xmm0, xmm0, dword [eax + 0x78]
vaddss xmm0, xmm0, xmm1
vmovss dword [eax + 0xf0], xmm0
mov byte [eax + 0x131], 1
lea eax, [ebp - 0x5c]
vmovdqu xmm0, xmmword [esi + 0x3860]
push eax
vmovdqu xmmword [ebp - 0x58], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab8c]
push str.19:49:57
push str.Feb__9_2024
push str.Built____s___s
vmovdqu xmmword [esi + 0x3860], xmm0
call fcn.10077d50
add esp, 0xc
mov esi, 1
mov ecx, esi
call fcn.10043590
call fcn.100732e0
vmovss xmm1, dword [ebp - 0x44]
xor dl, dl
mov ecx, str.Debug
call fcn.100f5820
test al, al
je 0x1010a2b3
push 0
mov edx, 0x1033e09d
mov ecx, str.Debug_info
call fcn.100f6ba0
add esp, 4
mov edx, 0x1033e055
mov ecx, str.Debug_logging
push esi
call fcn.100f6ba0
mov edx, dword [0x10339ffc]
add esp, 4
mov ecx, str.Allow_secure_servers
push 0
call fcn.100f6ba0
mov edx, dword [0x10339f24]
add esp, 4
add edx, 0x33c
je 0x1010a1a0
push esi
mov ecx, str.Pending_ping_refresh
call fcn.100f6ba0
add esp, 4
push 0
mov edx, 0x1033e079
mov ecx, str.Show_server_hitboxes
call fcn.100f6ba0
add esp, 4
xor ecx, ecx
call fcn.10045220
test al, al
je 0x1010a1cc
push str.localhost_servers
call fcn.10053cd0
add esp, 4
push 1
mov edx, 0x1033e031
mov ecx, str.Anti_aim_lines
call fcn.100f6ba0
mov eax, dword [0x1028d83c]
add esp, 4
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1033f700]
cmp eax, dword [ecx + 4]
jle 0x1010a22c
push 0x1033f700
call fcn.1015b77a
add esp, 4
cmp dword [0x1033f700], 0xffffffff
jne 0x1010a22c
push 0x101724e0
call fcn.1015bae3
add esp, 4
push 0x1033f700
call fcn.1015b729
add esp, 4
push 0
push 1
sub esp, 0xc
mov edx, str.ping_circle
mov eax, esp
mov ecx, str.Particle_name
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
call fcn.100fb730
mov esi, dword [0x1028b2b8]
add esp, 0x14
mov edx, 0x1a
mov ecx, str.Dispatch
call fcn.100f6700
test al, al
je 0x1010a2ae
test esi, esi
je 0x1010a2ae
vmovss xmm0, dword [ebp - 0x40]
mov ecx, esi
vmovss dword [ebp - 0x4c], xmm0
vmovss dword [ebp - 0x50], xmm0
vmovss dword [ebp - 0x54], xmm0
call fcn.100b19d0
mov ecx, str.ping_circle
mov edx, eax
call fcn.1006ee50
push ecx
lea ecx, [ebp - 0x54]
push ecx
mov ecx, eax
call fcn.100f4700
add esp, 8
mov esi, 1
call fcn.100f5be0
vmovss xmm1, dword [ebp - 0x44]
xor dl, dl
mov ecx, str.Extra
call fcn.100f5820
test al, al
je 0x1010c3d7
mov edx, esi
mov ecx, str.cl_fullupdate
call fcn.100f6700
test al, al
je 0x1010a2f6
mov ecx, dword [0x10339cf8]
push str.cl_fullupdate
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov edx, 0xa
mov ecx, str.retry
call fcn.100f6700
test al, al
je 0x1010a31e
mov ecx, dword [0x10339cf8]
push str.retry
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov edx, esi
mov ecx, str.Console
call fcn.100f6700
test al, al
je 0x1010a343
mov ecx, dword [0x10339cf8]
push str.showconsole
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov edx, 0xa
mov ecx, str.Fix_Chams
call fcn.100f6700
test al, al
je 0x1010a360
mov ecx, 0x1033a5b0
call fcn.10137780
mov ecx, dword [0x10339cf8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
jne 0x1010a508
mov edx, esi
mov ecx, str.Unlock_achievements
call fcn.100f6700
test al, al
je 0x1010a38f
mov ecx, str.Unlock_achievements_
call fcn.10053e70
mov edx, 0xa
mov ecx, str.Lock_achievements
call fcn.100f6700
test al, al
je 0x1010a3ac
mov ecx, str.Lock_achievements_
call fcn.10053e70
push 0x40
mov ecx, str.Unlock_achievements_
call fcn.100545a0
add esp, 4
test al, al
je 0x1010a45a
push str.Do_you_really_want_to_unlock_all_achievements_
call fcn.10077d50
add esp, 4
call fcn.1007a120
vmovss xmm0, dword [0x10279540]
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [ebp - 0x40]
lea edx, [ebp - 0x88]
mov ecx, str.Yes__unlock
vmovss dword [ebp - 0x84], xmm0
call fcn.100787e0
test al, al
je 0x1010a410
call fcn.1011d6c0
call fcn.100543a0
vmovss xmm1, dword [ebp - 0x20]
vmovss xmm0, dword [ebp - 0x40]
call fcn.10052950
vmovss xmm0, dword [0x10279540]
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [ebp - 0x40]
lea edx, [ebp - 0x88]
mov ecx, 0x1026fdf4
vmovss dword [ebp - 0x84], xmm0
call fcn.100787e0
test al, al
je 0x1010a455
call fcn.100543a0
call fcn.100546e0
push 0x40
mov ecx, str.Lock_achievements_
call fcn.100545a0
add esp, 4
test al, al
je 0x1010a508
push str.Do_you_really_want_to_lock_all_achievements_
call fcn.10077d50
add esp, 4
call fcn.1007a120
vmovss xmm0, dword [0x10279540]
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [ebp - 0x40]
lea edx, [ebp - 0x88]
mov ecx, str.Yes__lock
vmovss dword [ebp - 0x84], xmm0
call fcn.100787e0
test al, al
je 0x1010a4be
call fcn.1011d730
call fcn.100543a0
vmovss xmm1, dword [ebp - 0x20]
vmovss xmm0, dword [ebp - 0x40]
call fcn.10052950
vmovss xmm0, dword [0x10279540]
vmovss dword [ebp - 0x88], xmm0
vmovss xmm0, dword [ebp - 0x40]
lea edx, [ebp - 0x88]
mov ecx, 0x1026fdf4
vmovss dword [ebp - 0x84], xmm0
call fcn.100787e0
test al, al
je 0x1010a503
call fcn.100543a0
call fcn.100546e0
cmp byte [0x1033e09d], 0
je 0x1010c3d7
mov edx, esi
mov ecx, str.Reveal_bullet_lines
call fcn.100f6700
test al, al
je 0x1010a52a
call fcn.1013f0b0
mov edx, 0xa
mov ecx, str.Reveal_prediction_lines
call fcn.100f6700
test al, al
je 0x1010a542
call fcn.1013f0f0
mov edx, esi
mov ecx, str.Reveal_boxes
call fcn.100f6700
test al, al
je 0x1010a557
call fcn.1013f130
mov edx, 0xa
mov ecx, str.Print_hashes
call fcn.100f6700
test al, al
je 0x1010c3d7
call fcn.1015af70
jmp 0x1010c3d7
mov eax, dword [0x1028db88]
vxorps xmm0, xmm0, xmm0
push ecx
push str.ConfigConditionsTable
mov ecx, dword [eax + 0x3e58]
vmovss dword [ebp - 0x28], xmm0
vmovss dword [ebp - 0x88], xmm0
vmovss dword [ebp - 0x84], xmm0
call fcn.10044d40
vmovss xmm0, dword [ebp - 0x28]
push ecx
vmovss dword [esp], xmm0
lea ecx, [ebp - 0x88]
mov edx, eax
push ecx
push 0
push 2
mov ecx, str.ConfigConditionsTable
call fcn.1006f020
add esp, 0x10
test al, al
je case.default.0x10108d1a
call fcn.100732e0
vmovss xmm1, dword [0x10279330]
xor dl, dl
mov ecx, str.Settings
call fcn.100f5820
test al, al
je 0x1010a619
push 0
mov edx, 0x1033c385
mov ecx, str.Show_keybind_menu
call fcn.100f6ba0
add esp, 4
mov edx, 0x1033c361
mov ecx, str.Show_keybind_changes
push 1
call fcn.100f6ba0
add esp, 4
call fcn.100f5be0
call fcn.100732e0
jmp 0x1010c3dc
vmovss xmm0, dword [0x10279330]
xor dl, dl
mov ecx, str.Players
vmovaps xmm1, xmm0
vmovss dword [ebp - 0x2c], xmm0
call fcn.100f5820
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x20], xmm0
test al, al
je 0x1010a7f4
mov ecx, dword [0x10339cf8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1010a775
push 0x1033f568
mov dword [ebp - 0x34], 0x1033f568
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x1010a68c
push 5
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
cmp dword [0x1033f594], 0x7fffffff
jne 0x1010a6aa
push 6
mov dword [0x1033f594], 0x7ffffffe
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
mov dword [ebp - 4], 0x28
xor ecx, ecx
mov eax, dword [0x1033f5d4]
xor edi, edi
mov esi, dword [0x1033f5d0]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], eax
cmp esi, eax
je 0x1010a717
nop word [eax + eax]
mov eax, dword [esi + 0xc]
sub eax, 2
je 0x1010a6ee
sub eax, 1
jne 0x1010a701
push edi
push eax
push esi
lea ecx, [ebp - 0x11]
call fcn.1010c410
mov ecx, dword [ebp - 0x24]
inc edi
jmp 0x1010a701
push ecx
push 1
push esi
lea ecx, [ebp - 0x11]
call fcn.1010c410
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x1010a6d0
mov eax, dword [0x1033f5d4]
mov esi, dword [0x1033f5d0]
mov dword [ebp - 0x1c], eax
xor edx, edx
cmp edi, ecx
mov dword [ebp - 0x48], edx
cmovl edi, ecx
cmp esi, eax
je 0x1010a75b
lea ecx, [edx + 2]
mov eax, dword [esi + 0xc]
cmp eax, 3
je 0x1010a753
cmp eax, 2
je 0x1010a753
mov eax, edx
cdq
idiv ecx
lea ecx, [ebp - 0x11]
add eax, edi
push eax
push edx
push esi
call fcn.1010c410
mov edx, dword [ebp - 0x48]
mov ecx, 2
inc edx
mov dword [ebp - 0x48], edx
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x1010a728
push 0x1033f568
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
add esp, 4
jmp 0x1010a7f4
mov ecx, dword [0x1028db88]
push str.Not_ingame
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm0, xmm0, dword [eax + 0x7c]
vaddss xmm1, xmm1, dword [0x1027945c]
vaddss xmm0, xmm0, dword [0x102794ac]
vmovss dword [eax + 0xf0], xmm1
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
call fcn.10077d50
vmovss xmm0, dword [ebp - 0x20]
push ecx
mov eax, esp
vmovss dword [eax], xmm0
vmovss xmm0, dword [0x1027942c]
vmovss dword [eax + 4], xmm0
call fcn.100f4940
add esp, 8
call fcn.100f5be0
vmovss xmm1, dword [ebp - 0x2c]
xor dl, dl
mov ecx, str.Tags
call fcn.100f5820
mov edi, 1
test al, al
je 0x1010b6ad
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1028d83c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1033f71c]
cmp eax, dword [ecx + 4]
jle 0x1010a863
push 0x1033f71c
call fcn.1015b77a
add esp, 4
cmp dword [0x1033f71c], 0xffffffff
jne 0x1010a863
push 0x10172480
call fcn.1015bae3
add esp, 4
push 0x1033f71c
call fcn.1015b729
add esp, 4
mov eax, dword [0x1028db88]
vmovss xmm0, dword [ebp - 0x20]
push ecx
push str.TagTable
mov ecx, dword [eax + 0x3e58]
vmovss dword [ebp - 0x88], xmm0
vmovss dword [ebp - 0x84], xmm0
call fcn.10044d40
vmovss xmm0, dword [ebp - 0x20]
push ecx
vmovss dword [esp], xmm0
lea ecx, [ebp - 0x88]
mov edx, eax
push ecx
push 0
push 2
mov ecx, str.TagTable
call fcn.1006f020
add esp, 0x10
test al, al
je 0x1010b1a6
call fcn.100732e0
call fcn.10076b40
mov ecx, dword [0x1028db88]
push 0x98
vmovss dword [ebp - 0xc0], xmm0
vmovss xmm0, dword [0x102794c0]
mov eax, dword [ecx + 0x3e58]
push 0
vmovss dword [ebp - 0xbc], xmm0
mov byte [eax + 0xac], 1
lea eax, [ebp - 0xc0]
mov ecx, dword [ecx + 0x3e58]
push eax
sub esp, 8
push str.TagTable1
call fcn.10044d40
add esp, 4
mov edx, eax
mov ecx, str.TagTable1
call fcn.10048940
vmovss xmm0, dword [0x1027965c]
add esp, 0xc
vmovss dword [ebp - 0x1c], xmm0
test al, al
je 0x1010aa74
push 1
push 1
sub esp, 0xc
mov edx, 0x1028a4f4
mov eax, esp
mov ecx, str.Name
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
call fcn.100fb730
add esp, 0x14
mov edx, 0x1028a488
mov ecx, str.Color
push 8
push 0
call fcn.100fea40
mov ecx, dword [0x1028db88]
add esp, 8
mov al, byte [0x1028a490]
mov byte [0x1028db86], al
mov eax, dword [ecx + 0x3e58]
vmovss xmm0, dword [eax + 0xf4]
vsubss xmm1, xmm0, dword [eax + 0x18]
vaddss xmm0, xmm1, dword [eax + 0x7c]
vsubss xmm1, xmm0, dword [0x102794a4]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm0, xmm0, dword [eax + 0x7c]
vaddss xmm0, xmm0, xmm1
vmovss xmm1, dword [ebp - 0x20]
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
mov eax, dword [ecx + 0x3e58]
vmovss dword [ebp - 0x68], xmm1
vmovss dword [ebp - 0x64], xmm1
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
cmp byte [eax + 0xaf], 0
jne 0x1010aa4c
vmovss xmm2, dword [eax + 0xf0]
vmovss xmm0, dword [eax + 0xf4]
vaddss xmm3, xmm2, xmm1
vaddss xmm1, xmm0, xmm1
vmovss dword [ebp - 0x4c], xmm1
vmovss xmm1, dword [ebp - 0x1c]
lea ecx, [ebp - 0x68]
vmovss dword [ebp - 0x58], xmm2
vmovss dword [ebp - 0x54], xmm0
vmovss dword [ebp - 0x50], xmm3
call fcn.10052580
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x58]
call fcn.100526e0
add esp, 8
push 2
push 0x10198648
push 1
push 0xa
push 0xfffffffffffffff6
push 0
mov edx, 0x1028a48c
mov ecx, str.Priority
call fcn.100f9fa0
add esp, 0x18
mov byte [0x1028db86], 0
call fcn.10048ba0
call fcn.100732e0
call fcn.10076b40
mov ecx, dword [0x1028db88]
push 0x98
push 0
vmovss dword [ebp - 0x68], xmm0
mov eax, dword [ecx + 0x3e58]
vmovss xmm0, dword [ebp - 0xbc]
vmovss dword [ebp - 0x64], xmm0
mov byte [eax + 0xac], 1
lea eax, [ebp - 0x68]
mov ecx, dword [ecx + 0x3e58]
push eax
sub esp, 8
push str.TagTable2
call fcn.10044d40
add esp, 4
mov edx, eax
mov ecx, str.TagTable2
call fcn.10048940
add esp, 0xc
test al, al
je 0x1010b19c
mov esi, dword [0x1028a508]
mov ecx, 0x1028a4f4
mov edx, dword [0x1028a504]
cmp esi, 0x10
push 7
cmovae ecx, dword [0x1028a4f4]
push str.Default
call fcn.100985d0
add esp, 8
test al, al
jne 0x1010ab36
mov edx, dword [0x1028a504]
cmp esi, 0x10
mov ecx, 0x1028a4f4
cmovae ecx, dword [0x1028a4f4]
push 7
push str.Ignored
call fcn.100985d0
add esp, 8
test al, al
je 0x1010ab38
mov al, 1
mov ecx, dword [0x1028db88]
vmovss xmm1, dword [0x10279438]
vmovss xmm0, dword [ebp - 0x20]
mov byte [0x1028db85], al
mov eax, dword [ecx + 0x3e58]
vmovss dword [ebp - 0x68], xmm0
vmovss dword [ebp - 0x64], xmm1
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
cmp byte [eax + 0xaf], 0
jne 0x1010abc0
vmovss xmm2, dword [eax + 0xf0]
vaddss xmm3, xmm2, xmm0
vmovss xmm0, dword [eax + 0xf4]
vaddss xmm1, xmm0, xmm1
vmovss dword [ebp - 0x4c], xmm1
vmovss xmm1, dword [ebp - 0x1c]
lea ecx, [ebp - 0x68]
vmovss dword [ebp - 0x58], xmm2
vmovss dword [ebp - 0x54], xmm0
vmovss dword [ebp - 0x50], xmm3
call fcn.10052580
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x58]
call fcn.100526e0
add esp, 8
push 0
mov edx, 0x1028a490
mov ecx, str.Label
call fcn.100f6ba0
add esp, 4
cmp byte [0x1028db85], 0
je 0x1010abe4
mov byte [0x1028a490], 0
mov esi, dword [0x1028db88]
lea eax, [ebp - 0x5c]
push eax
mov byte [0x1028db85], 0
mov byte [ebp - 0x11], 0
vmovdqu xmm0, xmmword [esi + 0x39b0]
lea ecx, [esi + 0x476c]
mov dword [ebp - 0x5c], 0x15
vmovdqu xmmword [ebp - 0x58], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab6c]
vmovdqu xmmword [esi + 0x39b0], xmm0
mov esi, dword [0x1028db88]
mov ecx, 0x1028a4f4
push 0
push 0x10193a42
mov eax, dword [esi + 0x3e58]
vmovss xmm3, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e58]
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm2, xmm0, dword [eax + 0x7c]
vsubss xmm0, xmm3, dword [0x10279504]
vaddss xmm1, xmm0, xmm1
vaddss xmm0, xmm2, dword [0x1027942c]
vmovss dword [eax + 0xf0], xmm1
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
cmp dword [0x1028a508], 0x10
mov edx, dword [0x1028a504]
cmovae ecx, dword [0x1028a4f4]
call fcn.100985d0
vmovdqu xmm0, xmmword [esi + 0x39c0]
add esp, 8
mov dword [ebp - 0x5c], 0x16
test al, al
lea ecx, [esi + 0x476c]
lea eax, [ebp - 0x5c]
vmovdqu xmmword [ebp - 0x58], xmm0
push eax
jne 0x1010ad42
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab7c]
vmovdqu xmmword [esi + 0x39c0], xmm0
mov esi, dword [0x1028db88]
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x5c], 0x17
vmovdqu xmm0, xmmword [esi + 0x39d0]
lea ecx, [esi + 0x476c]
vmovdqu xmmword [ebp - 0x58], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab7c]
vmovdqu xmmword [esi + 0x39d0], xmm0
vmovss xmm0, dword [0x102794b0]
push ecx
lea edx, [ebp - 0x68]
mov ecx, str.CreateButton
vmovss dword [ebp - 0x68], xmm0
vmovss dword [ebp - 0x64], xmm0
call fcn.10078580
mov byte [ebp - 0x11], al
jmp 0x1010adb0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab6c]
vmovdqu xmmword [esi + 0x39c0], xmm0
mov esi, dword [0x1028db88]
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x5c], 0x17
vmovdqu xmm0, xmmword [esi + 0x39d0]
lea ecx, [esi + 0x476c]
vmovdqu xmmword [ebp - 0x58], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab6c]
vmovdqu xmmword [esi + 0x39d0], xmm0
vmovss xmm0, dword [0x102794b0]
push ecx
lea edx, [ebp - 0x68]
mov ecx, str.CreateButton
vmovss dword [ebp - 0x68], xmm0
vmovss dword [ebp - 0x64], xmm0
call fcn.10078580
add esp, 4
mov ecx, 3
call fcn.10043590
mov ecx, dword [0x1028db88]
push 0
push 0x10193a42
mov eax, dword [ecx + 0x3e58]
vmovss xmm3, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, 0x1028a4f4
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm2, xmm0, dword [eax + 0x7c]
vsubss xmm0, xmm3, dword [0x102794ec]
vaddss xmm1, xmm0, xmm1
vaddss xmm0, xmm2, dword [0x10279464]
vmovss dword [eax + 0xf0], xmm1
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
cmp dword [0x1028a508], 0x10
mov edx, dword [0x1028a504]
cmovae ecx, dword [0x1028a4f4]
call fcn.100985d0
add esp, 8
xor dl, dl
test al, al
jne 0x1010aeea
mov edi, dword [0x1033f5b4]
mov dword [ebp - 0x48], edx
mov esi, dword [edi]
cmp esi, edi
je 0x1010aeab
nop dword [eax + eax]
cmp dword [0x1028a508], 0x10
lea ecx, [esi + 8]
mov edx, dword [ecx + 0x10]
mov eax, 0x1028a4f4
cmovae eax, dword [0x1028a4f4]
cmp dword [ecx + 0x14], 0x10
jb 0x1010ae81
mov ecx, dword [ecx]
push dword [0x1028a504]
push eax
call fcn.100985d0
mov edx, dword [ebp - 0x48]
add esp, 8
test al, al
movzx edx, dl
mov eax, 1
cmovne edx, eax
mov eax, dword [esi]
mov dword [ebp - 0x48], edx
mov esi, eax
cmp eax, edi
jne 0x1010ae60
vmovss xmm0, dword [ebp - 0x2c]
sub esp, 0x10
mov ecx, 0x10271134
mov eax, esp
test dl, dl
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm0
vmovss dword [eax + 8], xmm0
vmovss xmm0, dword [ebp - 0x1c]
vmovss dword [eax + 0xc], xmm0
mov eax, 0x10273210
cmove ecx, eax
xor dl, dl
call fcn.100f5520
mov edi, 1
jmp 0x1010af24
vmovss xmm0, dword [ebp - 0x2c]
sub esp, 0x10
mov byte [0x1028db86], 1
mov eax, esp
mov ecx, 0x10273210
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm0
vmovss dword [eax + 8], xmm0
vmovss xmm0, dword [ebp - 0x1c]
vmovss dword [eax + 0xc], xmm0
call fcn.100f5520
mov byte [0x1028db86], 0
mov esi, dword [0x1028db88]
add esp, 0x10
mov dword [ebp - 0x5c], 0x15
mov eax, dword [esi + 0x3e58]
lea ecx, [esi + 0x476c]
vmovss xmm3, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e58]
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm2, xmm0, dword [eax + 0x7c]
vsubss xmm0, xmm3, dword [0x102794b0]
vaddss xmm1, xmm0, xmm1
vaddss xmm0, xmm2, dword [0x1027942c]
vmovss dword [eax + 0xf0], xmm1
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
lea eax, [ebp - 0x5c]
vmovdqu xmm0, xmmword [esi + 0x39b0]
push eax
vmovdqu xmmword [ebp - 0x58], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab6c]
vmovdqu xmmword [esi + 0x39b0], xmm0
mov esi, dword [0x1028db88]
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x5c], 0x16
vmovdqu xmm0, xmmword [esi + 0x39c0]
lea ecx, [esi + 0x476c]
vmovdqu xmmword [ebp - 0x58], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab7c]
vmovdqu xmmword [esi + 0x39c0], xmm0
mov esi, dword [0x1028db88]
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x5c], 0x17
vmovdqu xmm0, xmmword [esi + 0x39d0]
lea ecx, [esi + 0x476c]
vmovdqu xmmword [ebp - 0x58], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab7c]
vmovdqu xmmword [esi + 0x39d0], xmm0
vmovss xmm0, dword [0x102794b0]
push ecx
lea edx, [ebp - 0x68]
mov ecx, str.ClearButton
vmovss dword [ebp - 0x68], xmm0
vmovss dword [ebp - 0x64], xmm0
call fcn.10078580
add esp, 4
mov byte [ebp - 0x39], al
mov ecx, 3
call fcn.10043590
mov edx, dword [0x1028db88]
sub esp, 0x10
mov ecx, dword [edx + 0x3e58]
vmovss xmm3, dword [ecx + 0x1c]
mov byte [ecx + 0xac], 1
mov ecx, 0x10273674
mov eax, dword [edx + 0x3e58]
xor dl, dl
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm2, xmm0, dword [eax + 0x7c]
vsubss xmm0, xmm3, dword [0x10279484]
vaddss xmm1, xmm0, xmm1
vaddss xmm0, xmm2, dword [0x10279464]
vmovss dword [eax + 0xf4], xmm0
vmovss xmm0, dword [ebp - 0x2c]
vmovss dword [eax + 0xf0], xmm1
mov byte [eax + 0x131], 1
mov eax, esp
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm0
vmovss dword [eax + 8], xmm0
vmovss xmm0, dword [ebp - 0x1c]
vmovss dword [eax + 0xc], xmm0
call fcn.100f5520
add esp, 0x10
cmp byte [ebp - 0x11], 0
je 0x1010b158
mov esi, dword [0x1028a488]
lea eax, [ebp - 0x50]
push 0x1028a4f4
push eax
mov ecx, 0x1033f5b0
mov byte [0x1033f5ff], 1
call fcn.10110ed0
push 0x1028a4f4
mov ecx, 0x1033f5b0
mov eax, dword [eax]
mov dword [eax + 0x20], esi
lea eax, [ebp - 0x68]
mov esi, dword [0x1028a48c]
push eax
call fcn.10110ed0
push 0x1028a4f4
mov ecx, 0x1033f5b0
mov eax, dword [eax]
mov dword [eax + 0x24], esi
mov al, byte [0x1028a490]
mov byte [ebp - 0x11], al
lea eax, [ebp - 0xe4]
push eax
call fcn.10110ed0
mov cl, byte [ebp - 0x11]
mov eax, dword [eax]
mov byte [eax + 0x28], cl
jmp 0x1010b15e
cmp byte [ebp - 0x39], 0
je 0x1010b19c
push 0
push 0x10193a42
mov ecx, 0x1028a4f4
call fcn.10094b10
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x50], 0
vmovq xmm0, qword [ebp - 0x54]
mov word [ebp - 0x4c], pe_nt_image_headers32
mov byte [ebp - 0x4a], 0
mov eax, dword [ebp - 0x4c]
vmovq qword [0x1028a488], xmm0
mov dword [0x1028a490], eax
call fcn.10048ba0
call fcn.10071b90
mov esi, dword [0x1028db88]
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x5c], 0
vmovdqu xmm0, xmmword [esi + 0x3860]
lea ecx, [esi + 0x476c]
vmovdqu xmmword [ebp - 0x58], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab8c]
mov ecx, dword [0x1028db88]
xor edx, edx
vmovdqu xmmword [esi + 0x3860], xmm0
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, str.Priorities
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm0, xmm0, dword [eax + 0x7c]
vaddss xmm1, xmm1, dword [0x1027944c]
vaddss xmm0, xmm0, dword [0x102794f4]
vmovss dword [eax + 0xf0], xmm1
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
call fcn.100f6590
mov ecx, dword [0x1028db88]
xor edx, edx
mov eax, dword [ecx + 0x3e58]
vmovss xmm3, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, str.Labels
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm2, xmm0, dword [eax + 0x7c]
vaddss xmm0, xmm3, xmm3
vdivss xmm0, xmm0, dword [0x102793d4]
vaddss xmm0, xmm0, dword [0x10279434]
vaddss xmm1, xmm0, xmm1
vaddss xmm0, xmm2, dword [0x102794f4]
vmovss dword [eax + 0xf0], xmm1
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
call fcn.100f6590
mov ecx, edi
call fcn.10043590
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 4], 0x29
xor edi, edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x84], ecx
mov byte [ebp - 4], 0x2a
mov ecx, dword [0x1033f5b4]
mov dword [ebp - 0x28], ecx
mov esi, dword [ecx]
cmp esi, ecx
je 0x1010b498
cmp byte [esi + 0x28], 0
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0x134]
jne 0x1010b3aa
call fcn.10094910
vmovq xmm1, qword [esi + 0x20]
mov edx, dword [esi + 0x28]
vmovq qword [ebp - 0x11c], xmm1
mov dword [ebp - 0x114], edx
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x18]
je 0x1010b38f
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [eax], xmm0
vmovdqu xmm0, xmmword [ebp - 0x134]
mov dword [eax + 0x10], 0
mov ecx, 0xf
mov dword [eax + 0x14], 0
vmovdqu xmmword [eax], xmm0
vmovq xmm0, qword [ebp - 0x124]
vmovq qword [eax + 0x10], xmm0
vmovq qword [eax + 0x18], xmm1
mov dword [eax + 0x20], edx
add eax, 0x24
mov byte [ebp - 0x134], 0
mov dword [ebp - 0x50], eax
jmp 0x1010b444
lea ecx, [ebp - 0x134]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.10112260
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x18], eax
jmp 0x1010b43e
call fcn.10094910
vmovq xmm1, qword [esi + 0x20]
mov eax, dword [esi + 0x28]
vmovq qword [ebp - 0x11c], xmm1
mov dword [ebp - 0x114], eax
mov byte [ebp - 4], 0x2c
cmp edi, dword [ebp - 0x40]
je 0x1010b41c
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [edi], xmm0
vmovdqu xmm0, xmmword [ebp - 0x134]
mov dword [edi + 0x10], 0
mov ecx, 0xf
mov dword [edi + 0x14], 0
vmovdqu xmmword [edi], xmm0
vmovq xmm0, qword [ebp - 0x124]
vmovq qword [edi + 0x10], xmm0
vmovq qword [edi + 0x18], xmm1
mov dword [edi + 0x20], eax
add edi, 0x24
mov byte [ebp - 0x134], 0
mov dword [ebp - 0x88], edi
jmp 0x1010b444
lea eax, [ebp - 0x134]
push eax
push edi
lea ecx, [ebp - 0x8c]
call fcn.10112260
mov eax, dword [ebp - 0x84]
mov edi, dword [ebp - 0x88]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x120]
mov byte [ebp - 4], 0x2a
cmp ecx, 0x10
jb 0x1010b47c
mov edx, dword [ebp - 0x134]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010b472
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b698
push ecx
push edx
call fcn.1015b698
add esp, 8
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x28]
jne 0x1010b306
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], ecx
mov esi, dword [ebp - 0x50]
mov ecx, esi
push dword [ebp - 0x34]
sub ecx, eax
mov eax, 0x38e38e39
imul ecx
mov ecx, dword [ebp - 0x2c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
push eax
call fcn.101118f0
push dword [ebp - 0x34]
mov ecx, edi
mov eax, 0x38e38e39
sub ecx, dword [ebp - 0x1c]
imul ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
push eax
call fcn.10111ce0
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x44], eax
add esp, 0x10
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], eax
cmp eax, esi
je 0x1010b52a
mov dword [ebp - 0x44], ecx
mov edi, eax
nop
sub esp, 0x18
mov ecx, esp
push edi
call fcn.10094910
mov eax, dword [ebp - 0x44]
push eax
lea eax, [edi + 0x18]
push eax
call fcn.1010dbc0
inc dword [ebp - 0x44]
add edi, 0x24
cmp edi, esi
jne 0x1010b500
mov edi, dword [ebp - 0x88]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
cmp eax, edi
je 0x1010b55e
mov esi, eax
sub esp, 0x18
mov ecx, esp
push esi
call fcn.10094910
push dword [ebp - 0x24]
lea eax, [esi + 0x18]
push eax
call fcn.1010dbc0
mov ecx, dword [ebp - 0x24]
add esi, 0x24
inc ecx
mov dword [ebp - 0x24], ecx
cmp esi, edi
jne 0x1010b536
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
vmovss xmm3, dword [ebp - 0x20]
cmovl eax, ecx
mov ecx, dword [0x1028db88]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmulss xmm0, xmm0, dword [0x102794a0]
mov eax, dword [ecx + 0x3e58]
sub esp, 8
vaddss xmm2, xmm0, dword [0x102794d8]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm0, xmm0, dword [eax + 0x7c]
vaddss xmm0, xmm0, xmm2
vmovss dword [eax + 0xf4], xmm0
vmovss xmm0, dword [0x10279488]
vaddss xmm1, xmm1, xmm3
vmovss dword [eax + 0xf0], xmm1
mov byte [eax + 0x131], 1
mov eax, esp
vmovss dword [eax], xmm3
vmovss dword [eax + 4], xmm0
call fcn.100f4940
add esp, 8
mov byte [ebp - 4], 0x29
cmp dword [ebp - 0x1c], 0
je 0x1010b647
mov edx, edi
mov edi, dword [ebp - 0x1c]
push ecx
mov ecx, edi
call fcn.10111360
mov ecx, dword [ebp - 0x40]
mov eax, 0x38e38e39
sub ecx, edi
add esp, 4
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, edi
shl ecx, 2
cmp ecx, 0x1000
jb 0x1010b63d
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b698
push ecx
push edi
call fcn.1015b698
add esp, 8
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x1010b6a8
push ecx
mov edx, esi
mov ecx, edi
call fcn.10111360
mov ecx, dword [ebp - 0x18]
mov eax, 0x38e38e39
sub ecx, edi
add esp, 4
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, edi
shl ecx, 2
cmp ecx, 0x1000
jb 0x1010b69e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1010b69e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.1015b698
add esp, 8
mov edi, 1
mov ecx, dword [0x10339c94]
add ecx, 0xfffffffc
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [0x1028db88]
mov dword [0x10339c94], ecx
vmovss xmm0, dword [eax + 0x46e8]
mov eax, dword [eax + 0x3e58]
vsubss xmm0, xmm0, dword [eax + 0x18]
vcomiss xmm0, dword [ebp - 0x20]
vmovss dword [ebp - 0x9c], xmm0
jbe 0x1010b704
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.10110870
vmovss xmm0, dword [ebp - 0x9c]
mov eax, dword [eax]
vmovss dword [eax + 0xc], xmm0
mov ecx, edi
call fcn.10043650
call fcn.10048ba0
mov ecx, edi
call fcn.10043650
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [0x1028db88]
vxorps xmm0, xmm0, xmm0
push ecx
push str.MaterialsTable
mov ecx, dword [eax + 0x3e58]
vmovss dword [ebp - 0x20], xmm0
vmovss dword [ebp - 0x88], xmm0
vmovss dword [ebp - 0x84], xmm0
call fcn.10044d40
vmovss xmm0, dword [ebp - 0x20]
push ecx
vmovss dword [esp], xmm0
lea ecx, [ebp - 0x88]
mov edx, eax
push ecx
push 0
push 2
mov ecx, str.MaterialsTable
call fcn.1006f020
add esp, 0x10
test al, al
je case.default.0x10108d1a
call fcn.100732e0
vmovss xmm1, dword [0x10279330]
xor dl, dl
mov ecx, str.Manager
call fcn.100f5820
test al, al
je 0x1010bf38
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1028d83c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1033f6fc]
cmp eax, dword [ecx + 4]
jle 0x1010b7f3
push 0x1033f6fc
call fcn.1015b77a
add esp, 4
cmp dword [0x1033f6fc], 0xffffffff
jne 0x1010b7f3
push 0x10172420
call fcn.1015bae3
add esp, 4
push 0x1033f6fc
call fcn.1015b729
add esp, 4
push 0
push 9
sub esp, 0xc
mov edx, 0x1028a4dc
mov eax, esp
mov ecx, str.Material_name
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
call fcn.100fb730
add esp, 0x14
mov edx, 0x1c
mov ecx, str.Create
call fcn.100f6700
test al, al
je 0x1010b85c
cmp dword [0x1028a4ec], 0
jbe 0x1010b85c
sub esp, 0x18
mov ecx, esp
push 0x1028a4dc
call fcn.10094910
call fcn.10139460
mov ecx, 0x1028a4dc
call fcn.10094800
mov edx, 0x1c
mov ecx, str.Folder
call fcn.100f6700
test al, al
je 0x1010b8ad
push str.Materials
mov edx, 0x1033a630
lea ecx, [ebp - 0x128]
call fcn.100da2d0
add esp, 4
mov ecx, eax
push 0xa
push 0
push 0
call fcn.1006ee50
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0x128]
call fcn.10093db0
xor edi, edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], 0x2d
mov eax, dword [0x1033a5b4]
mov dword [ebp - 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1010b949
lea edi, [esi + 8]
push edi
lea ecx, [ebp - 0x148]
call fcn.10094910
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x12c]
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x130], eax
lea eax, [edi + 0x1c]
push eax
call fcn.10094910
mov al, byte [edi + 0x34]
mov byte [ebp - 0x114], al
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x148]
mov ecx, dword [ebp - 0x50]
push eax
cmp ecx, dword [ebp - 0x4c]
je 0x1010b925
call fcn.10114220
add ecx, 0x38
mov dword [ebp - 0x50], ecx
jmp 0x1010b92e
push ecx
lea ecx, [ebp - 0x54]
call fcn.10112440
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x2d
call fcn.100a5430
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x28]
jne 0x1010b8d1
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov eax, 0x92492493
push dword [ebp - 0x34]
mov ecx, esi
sub ecx, edi
imul ecx
add edx, ecx
mov ecx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
push eax
call fcn.10111f80
add esp, 8
cmp edi, esi
je 0x1010bf29
mov ecx, dword [0x1028db88]
mov edx, 0x1028ab9c
vmovss xmm5, dword [0x10279438]
vmovss xmm4, dword [0x1027944c]
mov eax, dword [ecx + 0x3e58]
vmovss xmm0, dword [eax + 0xf4]
vsubss xmm1, xmm0, dword [eax + 0x18]
vaddss xmm3, xmm1, dword [eax + 0x7c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
vmovss dword [ebp - 0x24], xmm3
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm2, xmm0, dword [eax + 0x7c]
vaddss xmm0, xmm3, xmm5
vaddss xmm1, xmm1, xmm4
vaddss xmm0, xmm0, xmm2
vmovss dword [eax + 0xf0], xmm1
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
mov eax, edi
cmp dword [edi + 0x14], 0x10
jb 0x1010ba01
mov eax, dword [edi]
cmp byte [edi + 0x34], 0
mov ecx, 0x1028ab8c
push eax
mov eax, edx
cmovne eax, ecx
push eax
call fcn.10077e20
vmovss xmm0, dword [ebp - 0x24]
vaddss xmm4, xmm0, dword [0x10279430]
add esp, 8
mov edx, 0x1a
cmp byte [edi + 0x34], 0
vmovss dword [ebp - 0x9c], xmm4
jne 0x1010bcb3
mov ecx, dword [0x1028db88]
sub esp, 0x10
mov eax, dword [ecx + 0x3e58]
vmovss xmm3, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, 0x10273258
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm2, xmm0, dword [eax + 0x7c]
vsubss xmm0, xmm3, dword [0x10279480]
vaddss xmm1, xmm0, xmm1
vmovss dword [eax + 0xf0], xmm1
mov byte [eax + 0x131], 1
vaddss xmm0, xmm4, xmm2
vmovss dword [eax + 0xf4], xmm0
vmovss xmm0, dword [0x10279330]
mov eax, esp
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm0
vmovss dword [eax + 8], xmm0
vmovss xmm0, dword [0x1027965c]
vmovss dword [eax + 0xc], xmm0
call fcn.100f5620
add esp, 0x10
test al, al
je 0x1010bb70
push 0x1a
push str.Confirmation_DeleteMat
mov edx, edi
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x30
cmp dword [eax + 0x14], 0x10
jb 0x1010baf9
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov esi, dword [0x1028db88]
push ecx
push eax
mov ecx, dword [esi + 0x3e58]
call fcn.10044d40
test byte [esi + 0x5afc], 4
mov dword [ebp - 0x28], eax
je 0x1010bb2c
push eax
push dword [ebp - 0x48]
push str._popup__OpenPopup___s_____0x_08X__n
call fcn.1005ab90
mov eax, dword [ebp - 0x28]
add esp, 0xc
xor edx, edx
mov ecx, eax
call fcn.10053eb0
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x1010bb6d
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010bb63
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b698
push ecx
push edx
call fcn.1015b698
add esp, 8
mov esi, dword [ebp - 0x50]
push 0x1a
push str.Confirmation_DeleteMat
mov edx, edi
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
mov byte [ebp - 4], 0x31
cmp dword [eax + 0x14], 0x10
jb 0x1010bb90
mov eax, dword [eax]
push 0x10041
mov ecx, eax
call fcn.100545a0
mov byte [ebp - 4], 0x2d
add esp, 4
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 0x39], al
cmp ecx, 0x10
jb 0x1010bbdd
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010bbd0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b698
push ecx
push edx
call fcn.1015b698
mov al, byte [ebp - 0x39]
add esp, 8
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
test al, al
je 0x1010bca6
push 0x22
push str.Do_you_really_want_to_delete__
mov edx, edi
lea ecx, [ebp - 0x98]
call fcn.100e15c0
add esp, 8
mov byte [ebp - 4], 0x32
cmp dword [eax + 0x14], 0x10
jb 0x1010bc1a
mov eax, dword [eax]
push eax
call fcn.10077d50
mov byte [ebp - 4], 0x2d
add esp, 4
mov ecx, dword [ebp - 0x84]
cmp ecx, 0x10
jb 0x1010bc61
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010bc57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b698
push ecx
push edx
call fcn.1015b698
add esp, 8
mov edx, 1
mov ecx, 0x1026fdac
call fcn.100f6700
test al, al
je 0x1010bc89
sub esp, 0x18
mov ecx, esp
push edi
call fcn.10094910
call fcn.1013a620
call fcn.100543a0
mov edx, 0xa
mov ecx, 0x1026fdf4
call fcn.100f6700
test al, al
je 0x1010bca1
call fcn.100543a0
call fcn.100546e0
vmovss xmm4, dword [ebp - 0x9c]
mov edx, 0x33
mov ecx, dword [0x1028db88]
sub esp, 0x10
mov eax, dword [ecx + 0x3e58]
vmovss xmm3, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, 0x102736c4
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm2, xmm0, dword [eax + 0x7c]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edx
vsubss xmm0, xmm3, xmm0
vaddss xmm1, xmm0, xmm1
vmovss dword [eax + 0xf0], xmm1
mov byte [eax + 0x131], 1
vaddss xmm0, xmm4, xmm2
vmovss dword [eax + 0xf4], xmm0
vmovss xmm0, dword [0x10279330]
mov eax, esp
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm0
vmovss dword [eax + 8], xmm0
vmovss xmm0, dword [0x1027965c]
vmovss dword [eax + 0xc], xmm0
call fcn.100f5620
add esp, 0x10
test al, al
je 0x1010beb0
cmp edi, 0x1028aaf0
je 0x1010bd6d
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x1010bd5f
mov eax, dword [edi]
push dword [edi + 0x10]
mov ecx, 0x1028aaf0
push eax
call fcn.10094b10
mov al, byte [edi + 0x34]
lea ecx, [ebp - 0xb8]
push 0x1028aaf0
mov byte [0x1028ab08], al
call fcn.10094910
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100ecc30
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc4]
or ecx, 0x100
mov dword [ebp - 0x18], ecx
cmp eax, dword [0x1033a5b4]
je 0x1010bdcd
add eax, 0x24
lea ecx, [ebp - 0x98]
push eax
call fcn.10094910
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x1010bdfa
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x10
jb 0x1010be38
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010be2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b698
push ecx
push edx
call fcn.1015b698
add esp, 8
mov byte [ebp - 0xb8], 0
mov dword [ebp - 0xa4], 0xf
mov dword [ebp - 0xa8], 0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x34
push eax
mov ecx, 0x1028a898
call fcn.1008fb80
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x84]
cmp ecx, 0x10
jb 0x1010bea6
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010be9c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b698
push ecx
push edx
call fcn.1015b698
add esp, 8
mov al, byte [0x1028ab08]
mov byte [0x1028a8d5], al
mov ecx, dword [0x1028db88]
sub esp, 8
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
vmovss xmm0, dword [eax + 0x14]
vsubss xmm1, xmm0, dword [eax + 0x78]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm0, xmm0, dword [eax + 0x7c]
vaddss xmm0, xmm0, dword [ebp - 0x24]
vaddss xmm1, xmm1, dword [0x10279420]
vmovss dword [eax + 0xf4], xmm0
vmovss xmm0, dword [ebp - 0x20]
vmovss dword [eax + 0xf0], xmm1
mov byte [eax + 0x131], 1
mov eax, esp
vmovss dword [eax], xmm0
vmovss xmm0, dword [0x10279488]
vmovss dword [eax + 4], xmm0
call fcn.100f4940
add edi, 0x38
jmp 0x1010b970
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.1010fe80
call fcn.100f5be0
call fcn.100732e0
cmp dword [0x1028ab04], 0x10
mov ecx, 0x1028aaf0
mov edx, dword [0x1028ab00]
cmovae ecx, dword [0x1028aaf0]
push 0
push 0x10193a42
call fcn.100985d0
add esp, 8
test al, al
jne 0x1010c3dc
lea eax, [ebp - 0x80]
mov ecx, 0x1028a898
push eax
call fcn.100923c0
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x1010bf8f
mov edx, dword [eax]
add ecx, edx
jmp 0x1010bf93
add ecx, eax
mov edx, eax
push 0xa
push ecx
push edx
call fcn.1015c5a0
mov ecx, dword [ebp - 0x6c]
mov esi, eax
cmp ecx, 0x10
jb 0x1010bfd4
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010bfca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1010bfca
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1015b698
add esp, 8
mov eax, esi
mov dl, 1
shl eax, 4
mov ecx, str.Editor
sub eax, esi
add eax, 0x51
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
call fcn.100f5820
test al, al
je 0x1010c3d7
cmp byte [0x1028ab08], 0
jne 0x1010c13e
mov edx, 4
mov ecx, str.Save
call fcn.100f6700
test al, al
je 0x1010c12c
lea eax, [ebp - 0x164]
mov ecx, 0x1028a898
push eax
call fcn.100923c0
mov dword [ebp - 4], 0x35
lea eax, [ebp - 0x164]
mov edi, dword [ebp - 0x150]
cmp edi, 0x10
mov edx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x154]
cmovae eax, edx
add eax, ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x24], eax
cmp edi, 0x10
lea eax, [ebp - 0x164]
cmovae eax, edx
dec ecx
add eax, ecx
cmp edi, 0x10
mov esi, eax
lea ecx, [ebp - 0x164]
cmovae ecx, edx
sub esi, ecx
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x48]
sub eax, esi
cmp eax, ecx
cmovb ecx, eax
cmp edi, 0x10
mov edi, dword [ebp - 0x48]
lea eax, [ebp - 0x164]
cmovae eax, edx
mov dword [ebp - 0x24], ecx
sub edi, ecx
mov ecx, edi
sub ecx, esi
lea edx, [eax + esi]
inc ecx
mov eax, dword [ebp - 0x24]
push ecx
add eax, edx
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
sub esp, 0xc
mov dword [ebp - 0x154], edi
lea eax, [ebp - 0x164]
mov dword [ebp - 0x34], esp
mov ecx, esp
push eax
call fcn.10094910
sub esp, 0x18
mov byte [ebp - 4], 0x36
mov ecx, esp
push 0x1028aaf0
call fcn.10094910
mov byte [ebp - 4], 0x35
call fcn.10139df0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x1010c12c
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010c122
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1010c122
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1015b698
add esp, 8
vmovss xmm1, dword [0x1027965c]
vmovss xmm0, dword [ebp - 0x20]
call fcn.10052950
mov edx, 4
mov ecx, str.Close
call fcn.100f6700
test al, al
je 0x1010c162
push 0
push 0x10193a42
mov ecx, 0x1028aaf0
call fcn.10094b10
vmovss xmm1, dword [0x1027965c]
vmovss xmm0, dword [ebp - 0x20]
call fcn.10052950
mov esi, dword [0x1028db88]
mov dword [ebp - 0x5c], 0
mov eax, dword [esi + 0x3e58]
lea ecx, [esi + 0x476c]
vmovss xmm0, dword [eax + 0xf4]
vsubss xmm0, xmm0, dword [eax + 0x18]
vaddss xmm0, xmm0, dword [eax + 0x7c]
vaddss xmm1, xmm0, dword [0x10279484]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e58]
vmovss xmm0, dword [eax + 0x18]
vsubss xmm0, xmm0, dword [eax + 0x7c]
vaddss xmm0, xmm0, xmm1
vmovss dword [eax + 0xf4], xmm0
mov byte [eax + 0x131], 1
lea eax, [ebp - 0x5c]
vmovdqu xmm0, xmmword [esi + 0x3860]
push eax
vmovdqu xmmword [ebp - 0x58], xmm0
call fcn.1005b880
vmovdqu xmm0, xmmword [0x1028ab8c]
vmovdqu xmmword [esi + 0x3860], xmm0
cmp byte [0x1028ab08], 0
mov edx, 0x1028aaf0
push 0xb
je 0x1010c22b
push str.Viewing:_
lea ecx, [ebp - 0xb8]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov dword [ebp - 4], 0x37
mov eax, dword [ebp - 0x18]
or eax, 0x40
jmp 0x1010c24c
push str.Editing:_
lea ecx, [ebp - 0x80]
call fcn.100e15c0
add esp, 8
mov ecx, eax
mov dword [ebp - 4], 0x38
mov eax, dword [ebp - 0x18]
or eax, 0x80
cmp dword [ecx + 0x14], 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
jb 0x1010c25a
mov ecx, dword [ecx]
mov edx, 2
call fcn.100f6590
mov dword [ebp - 4], 0x37
mov eax, dword [ebp - 0x18]
test al, al
jns 0x1010c2bf
mov ecx, dword [ebp - 0x6c]
and eax, 0xffffff7f
mov dword [ebp - 0x18], eax
cmp ecx, 0x10
jb 0x1010c2ad
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010c2a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010c2f6
push ecx
push edx
call fcn.1015b698
mov eax, dword [ebp - 0x18]
add esp, 8
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov dword [ebp - 4], 0xffffffff
test al, 0x40
je 0x1010c306
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x10
jb 0x1010c306
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010c2fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1010c2fc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1015b698
add esp, 8
mov ecx, 1
call fcn.10043590
mov ecx, dword [0x1028db88]
vmovss xmm1, dword [0x1027942c]
vmovss xmm0, dword [ebp - 0x20]
vmovss dword [ebp - 0x88], xmm0
mov eax, dword [ecx + 0x3e58]
vmovss dword [ebp - 0x84], xmm1
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
cmp byte [eax + 0xaf], 0
jne 0x1010c39f
vmovss xmm3, dword [eax + 0xf0]
vaddss xmm4, xmm3, xmm0
vmovss xmm0, dword [eax + 0xf4]
vaddss xmm2, xmm0, xmm1
vmovss xmm1, dword [0x1027965c]
lea ecx, [ebp - 0x88]
vmovss dword [ebp - 0x58], xmm3
vmovss dword [ebp - 0x54], xmm0
vmovss dword [ebp - 0x50], xmm4
vmovss dword [ebp - 0x4c], xmm2
call fcn.10052580
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x58]
call fcn.100526e0
add esp, 8
mov ecx, dword [0x1028abc0]
call fcn.1004ea50
vmovss xmm0, dword [ebp - 0x20]
push ecx
lea eax, [ebp - 0x88]
push eax
push ecx
mov ecx, 0x1028a898
vmovss dword [ebp - 0x88], xmm0
vmovss dword [ebp - 0x84], xmm0
call fcn.1008f960
call fcn.1004eb10
call fcn.100f5be0
call fcn.10071b90
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret