Function at 0x10103030
Capabilities:
Create process on windows
Resolve function by parsing pe exports
Schedule task via at

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 0x1014f595
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x120
push esi
mov esi, ecx
push edi
xor edi, edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edi
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x18], edi
cmp eax, 3
ja case.default.0x1010307d
jmp dword [eax*4 + 0x101056d4]
mov eax, dword [0x10248ad8]
xorps xmm0, xmm0
push ecx
push str.ConfigSettingsTable
movss dword [ebp - 0x70], xmm0
mov ecx, dword [eax + 0x3e58]
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], edi
call fcn.10047cb0
push ecx
mov dword [esp], edi
lea ecx, [ebp - 0x98]
push ecx
push 0
push 2
mov edx, eax
mov ecx, str.ConfigSettingsTable
call fcn.10071e50
add esp, 0x10
test al, al
je case.default.0x1010307d
call fcn.100769a0
movss xmm1, dword [0x10234ce8]
xor dl, dl
mov ecx, str.Config
call fcn.100f3330
movss xmm0, dword [0x10234fd0]
movss dword [ebp - 0x74], xmm0
test al, al
je 0x10104526
mov edx, 1
mov ecx, str.Configs_folder
call fcn.100f3dd0
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteA]
test al, al
je 0x10103132
push 1
push 0
push 0
mov ecx, 0x102f0780
call fcn.10071c80
push eax
push 0
push 0
call esi
mov edx, 0xa
mov ecx, str.Visuals_folder
call fcn.100f3dd0
test al, al
je 0x1010315c
push 1
push 0
push 0
mov ecx, 0x102f0798
call fcn.10071c80
push eax
push 0
push 0
call esi
call fcn.1007b060
mov eax, dword [0x10248ad8]
lea ecx, [ebp - 0x64]
mov edx, dword [ebp - 0x20]
movaps xmm2, xmm0
mulss xmm2, dword [0x10234c94]
sub esp, 8
mov dword [ebp - 0x6c], str.GENERAL
mov dword [ebp - 0x68], str.VISUALS
mov eax, dword [eax + 0x3e58]
movss xmm1, dword [edx + 0x3c]
addss xmm2, dword [0x10234d48]
movss xmm3, dword [0x10234dd8]
movss xmm0, dword [eax + 0xf4]
subss xmm0, dword [eax + 0x18]
movss dword [ebp - 0x24], xmm3
addss xmm0, dword [eax + 0x7c]
mov eax, esp
sub esp, 8
mov dword [eax], 0x40c00000
movss dword [eax + 4], xmm0
mov eax, esp
sub esp, 0xc
mov dword [ebp - 0x54], esp
movss dword [eax], xmm2
movss dword [eax + 4], xmm1
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 0
sub ecx, eax
mov byte [ebp - 0x11], 0
sub esp, 0xc
mov dword [ebp - 0x58], ecx
mov edi, esp
lea esi, [edx + 0x14]
mov eax, ecx
mov dword [ebp - 0x1c], esi
sar eax, 2
mov dword [ebp - 0x60], eax
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
test eax, eax
je 0x10103249
push eax
mov ecx, edi
call fcn.101020c0
push dword [ebp - 0x58]
mov esi, dword [edi]
lea eax, [ebp - 0x6c]
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x60]
add esp, 0xc
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0x1c]
mov dword [edi + 4], eax
mov dl, byte [ebp - 0x11]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
call fcn.100f37a0
mov eax, dword [esi]
add esp, 0x28
sub eax, 0
je 0x10103a87
sub eax, 1
jne 0x10104526
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10248794]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102f62c0]
cmp eax, dword [ecx + 4]
jle 0x101032bd
push 0x102f62c0
call fcn.1014855a
add esp, 4
cmp dword [0x102f62c0], 0xffffffff
jne 0x101032bd
push 0x1015e6b0
call fcn.101488c3
add esp, 4
push 0x102f62c0
call fcn.10148509
add esp, 4
push 0
push 0xa
sub esp, 0xc
mov edx, 0x1024549c
mov eax, esp
mov ecx, str.Config_name
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
call fcn.100f7b70
add esp, 0x14
mov edx, 0x1c
mov ecx, str.Create
call fcn.100f3dd0
test al, al
je 0x101033a2
cmp dword [0x102454ac], 0
jbe 0x101033a2
push 0x1022b38c
mov edx, 0x102f0798
lea ecx, [ebp - 0x90]
call fcn.100dbb50
add esp, 4
push 0x1024549c
mov edx, eax
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0xb0]
call fcn.100e9bd0
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x16
call fcn.100ea980
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x17
call fcn.100e3990
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x11], al
call fcn.100e99c0
lea ecx, [ebp - 0xb0]
call fcn.10098150
lea ecx, [ebp - 0x90]
mov dword [ebp - 4], 0xffffffff
call fcn.10098150
cmp byte [ebp - 0x11], 0
jne 0x10103398
push ecx
push 0x1024549c
mov ecx, 0x102f0750
call fcn.100e8240
mov ecx, 0x1024549c
call fcn.10098b80
push ecx
push 0x102f0798
lea ecx, [ebp - 0x50]
call fcn.100ea980
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x98]
call fcn.100fbc20
lea ecx, [ebp - 0x50]
call fcn.100e99c0
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x28]
call fcn.101056f0
mov eax, ecx
lea ecx, [ebp - 0xb8]
push eax
call fcn.100fbe30
lea ecx, [ebp - 0x28]
call fcn.100ad290
sub esp, 8
lea eax, [ebp - 0x98]
mov ecx, esp
push eax
call fcn.101056f0
lea ecx, [ebp - 0xe0]
call fcn.100fbe60
add esp, 8
mov byte [ebp - 4], 0x1c
mov esi, dword [ebp - 0xb8]
cmp esi, dword [ebp - 0xe0]
je 0x10103a20
movss xmm0, dword [0x10234df0]
mov edi, dword [ebp - 0x20]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [0x10234e30]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [0x10234de8]
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [0x10234e60]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [0x10234e80]
movss dword [ebp - 0xd8], xmm0
mov ecx, esi
call fcn.100fb870
test al, al
je 0x101034c4
push ecx
push 0x102f07b0
lea ecx, [ebp - 0x50]
call fcn.100ea980
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 - 0xb0]
push eax
call fcn.100fb7d0
or dword [ebp - 0x18], 0x20
lea ecx, [ebp - 0x50]
push ecx
mov ecx, eax
call fcn.100fb5c0
test eax, eax
jne 0x101034c7
mov byte [ebp - 0x11], al
jmp 0x101034cb
add esi, 0x20
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 0x18]
test al, 0x20
je 0x101034e6
and eax, 0xffffffdf
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x18], eax
call fcn.100e99c0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x1c
test al, 0x10
je 0x101034ff
and eax, 0xffffffef
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x18], eax
call fcn.100e99c0
cmp byte [ebp - 0x11], 0
jne 0x10103a03
lea eax, [ebp - 0x50]
mov ecx, esi
push eax
call fcn.100fb770
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, eax
call fcn.100e3150
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x20
call fcn.100e99c0
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x90]
call fcn.10098b60
lea ecx, [ebp - 0x90]
mov edx, dword [eax]
lea eax, [ebp - 0x54]
push eax
call fcn.10098b60
push edx
lea ecx, [ebp - 0x90]
mov eax, dword [eax]
sub eax, dword [0x102f07c0]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.100dcc00
lea ecx, [ebp - 0xe8]
call fcn.100558f0
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x120], 0x41600000
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x20], xmm0
addss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0x11c], xmm0
call fcn.10055930
lea ecx, [ebp - 0x90]
call fcn.10071c80
mov esi, eax
mov ecx, 0x102f0750
lea eax, [ebp - 0xb0]
push eax
call fcn.100fbeb0
mov edx, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x90]
call fcn.1009b520
test al, al
mov ecx, 0x10245b64
mov eax, 0x10245b54
cmove ecx, eax
push esi
push ecx
call fcn.1007c540
add esp, 8
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xb0]
call fcn.10098150
mov eax, dword [0x10248ad8]
lea ecx, [ebp - 0x128]
mov eax, dword [eax + 0x3e58]
movss xmm0, dword [eax + 0x1c]
subss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0xd4]
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x124], xmm0
call fcn.10055930
movss xmm0, dword [ebp - 0x70]
sub esp, 0x10
mov ecx, esp
movaps xmm3, xmm0
push ecx
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
movaps xmm1, xmm0
call fcn.10042230
mov ecx, 0x1022ecf4
call fcn.100f31a0
add esp, 0x10
test al, al
je 0x101036a8
push 0x1d
push str.Confirmation_DeleteVisual
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0xb0]
call fcn.100e2450
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x22
call fcn.10071c80
mov ecx, eax
call fcn.10056d60
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x20
call fcn.10098150
mov eax, dword [0x10248ad8]
lea ecx, [ebp - 0x130]
mov eax, dword [eax + 0x3e58]
movss xmm0, dword [eax + 0x1c]
subss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x12c], xmm0
call fcn.10055930
movss xmm0, dword [ebp - 0x70]
sub esp, 0x10
mov ecx, esp
movaps xmm3, xmm0
movaps xmm2, xmm0
movaps xmm1, xmm0
push ecx
mov dword [esp], 0xbf800000
call fcn.10042230
mov ecx, 0x1022ed54
call fcn.100f31a0
add esp, 0x10
test al, al
je 0x10103794
lea eax, [ebp - 0xb0]
mov ecx, 0x102f0750
push eax
call fcn.100fbeb0
mov edx, eax
lea ecx, [ebp - 0x90]
call fcn.1009b520
lea ecx, [ebp - 0xb0]
mov byte [ebp - 0x11], al
call fcn.10098150
cmp byte [ebp - 0x11], 0
jne 0x10103782
push 0x1b
push str.Confirmation_SaveVisual
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x118]
call fcn.100e2450
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x23
call fcn.10071c80
mov ecx, eax
call fcn.10056d60
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x20
call fcn.10098150
jmp 0x10103794
push ecx
lea eax, [ebp - 0x90]
mov ecx, 0x102f0750
push eax
call fcn.100e8240
mov eax, dword [0x10248ad8]
lea ecx, [ebp - 0xfc]
mov eax, dword [eax + 0x3e58]
movss xmm0, dword [eax + 0x1c]
subss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0xf8], xmm0
call fcn.10055930
movss xmm0, dword [ebp - 0x70]
sub esp, 0x10
mov ecx, esp
movaps xmm3, xmm0
movaps xmm2, xmm0
movaps xmm1, xmm0
push ecx
mov dword [esp], 0xbf800000
call fcn.10042230
mov ecx, 0x1022ed30
call fcn.100f31a0
add esp, 0x10
test al, al
je 0x10103816
push ecx
lea eax, [ebp - 0x90]
mov ecx, 0x102f0750
push eax
call fcn.100e8940
mov ecx, edi
call fcn.10106560
push 0x1b
push str.Confirmation_SaveVisual
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0xb0]
call fcn.100e2450
add esp, 8
push 0x10041
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.10071c80
mov ecx, eax
call fcn.10057480
add esp, 4
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x20
call fcn.10098150
cmp byte [ebp - 0x11], 0
je 0x101038ec
push 0x24
push str.Do_you_really_want_to_override__
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0xb0]
call fcn.100e2450
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x25
call fcn.10071c80
push eax
call fcn.1007c470
add esp, 4
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xb0]
call fcn.10098150
mov edx, 1
mov ecx, str.Yes__override
call fcn.100f3dd0
test al, al
je 0x101038cf
push ecx
lea eax, [ebp - 0x90]
mov ecx, 0x102f0750
push eax
call fcn.100e8240
call fcn.10057280
mov edx, 0xa
mov ecx, 0x1022afb8
call fcn.100f3dd0
test al, al
je 0x101038e7
call fcn.10057280
call fcn.100575d0
push 0x1d
push str.Confirmation_DeleteVisual
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0xb0]
call fcn.100e2450
add esp, 8
push 0x10041
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.10071c80
mov ecx, eax
call fcn.10057480
add esp, 4
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x20
call fcn.10098150
cmp byte [ebp - 0x11], 0
je 0x101039c1
push 0x22
push str.Do_you_really_want_to_delete__
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0xb0]
call fcn.100e2450
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x27
call fcn.10071c80
push eax
call fcn.1007c470
add esp, 4
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xb0]
call fcn.10098150
mov edx, 1
mov ecx, str.Yes__delete
call fcn.100f3dd0
test al, al
je 0x101039a4
lea eax, [ebp - 0x90]
mov ecx, 0x102f0750
push eax
call fcn.100e9500
call fcn.10057280
mov edx, 0xa
mov ecx, 0x1022afb8
call fcn.100f3dd0
test al, al
je 0x101039bc
call fcn.10057280
call fcn.100575d0
movss xmm0, dword [ebp - 0x20]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x40c00000
movss dword [ebp - 0x30], xmm0
call fcn.10055930
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0x41e00000
call fcn.100f25c0
add esp, 8
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x90]
call fcn.10098150
lea ecx, [ebp - 0xb8]
call fcn.100fbd80
mov esi, dword [ebp - 0xb8]
cmp esi, dword [ebp - 0xe0]
jne 0x10103472
mov edi, dword [ebp - 0xdc]
or esi, 0xffffffff
test edi, edi
je 0x10103a4c
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10103a4c
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x10103a4c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0xb4]
test edi, edi
je 0x10103a75
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10103a75
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x10103a75
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x94]
jmp 0x10104504
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10248794]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102f62b0]
cmp eax, dword [ecx + 4]
jle 0x10103ad3
push 0x102f62b0
call fcn.1014855a
add esp, 4
cmp dword [0x102f62b0], 0xffffffff
jne 0x10103ad3
push 0x1015e710
call fcn.101488c3
add esp, 4
push 0x102f62b0
call fcn.10148509
add esp, 4
push 0
push 0xa
sub esp, 0xc
mov edx, 0x102454e8
mov eax, esp
mov ecx, str.Config_name
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
call fcn.100f7b70
add esp, 0x14
mov edx, 0x1c
mov ecx, str.Create
call fcn.100f3dd0
test al, al
je 0x10103bb9
cmp dword [0x102454f8], 0
jbe 0x10103bb9
push 0x1022b38c
mov edx, 0x102f0780
lea ecx, [ebp - 0xb0]
call fcn.100dbb50
add esp, 4
push 0x102454e8
mov edx, eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x118]
call fcn.100e9bd0
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call fcn.100ea980
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.100e3990
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x11], al
call fcn.100e99c0
lea ecx, [ebp - 0x118]
call fcn.10098150
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.10098150
cmp byte [ebp - 0x11], 0
jne 0x10103baf
push 1
push 0x102454e8
mov ecx, 0x102f0750
call fcn.100e7090
mov ecx, 0x102454e8
call fcn.10098b80
push ecx
push 0x102f0780
lea ecx, [ebp - 0x50]
call fcn.100ea980
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0xe0]
call fcn.100fbc20
lea ecx, [ebp - 0x50]
call fcn.100e99c0
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x38]
call fcn.101056f0
mov eax, ecx
lea ecx, [ebp - 0xb8]
push eax
call fcn.100fbe30
lea ecx, [ebp - 0x38]
call fcn.100ad290
sub esp, 8
lea eax, [ebp - 0xe0]
mov ecx, esp
push eax
call fcn.101056f0
lea ecx, [ebp - 0x98]
call fcn.100fbe60
add esp, 8
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0xb8]
cmp esi, dword [ebp - 0x98]
je 0x101044a2
movss xmm0, dword [0x10234e00]
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [0x10234df0]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [0x10234e30]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [0x10234de8]
movss dword [ebp - 0x64], xmm0
mov ecx, esi
call fcn.100fb870
test al, al
je 0x10103cd7
mov byte [ebp - 0xd8], 0
lea ecx, [ebp - 0x50]
push dword [ebp - 0xd8]
mov edx, 0x102f07b0
call fcn.100ed2c0
add esp, 4
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 - 0x118]
push eax
call fcn.100fb7d0
or dword [ebp - 0x18], 2
lea ecx, [ebp - 0x50]
push ecx
mov ecx, eax
call fcn.100fb5c0
test eax, eax
jne 0x10103cda
mov byte [ebp - 0x11], al
jmp 0x10103cde
add esi, 0x20
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 0x18]
test al, 2
je 0x10103cf9
and eax, 0xfffffffd
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x18], eax
call fcn.100e99c0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 8
test al, 1
je 0x10103d12
and eax, 0xfffffffe
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x18], eax
call fcn.100e99c0
cmp byte [ebp - 0x11], 0
jne 0x10104485
lea eax, [ebp - 0x118]
mov ecx, esi
push eax
call fcn.100fb770
push ecx
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xa
push ecx
mov ecx, eax
call fcn.100e9c30
or dword [ebp - 0x18], 0x800000
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xc
call fcn.100e99c0
cmp dword [ebp - 0xbc], 0x10
lea esi, [ebp - 0xd0]
mov edi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc0]
cmovae esi, edi
setae dl
mov dword [ebp - 0x5c], edi
add esi, eax
mov dword [ebp - 0x1c], eax
test dl, dl
je 0x10103d94
mov ecx, dword [ebp - 0x1c]
mov eax, edi
sub eax, dword [0x102f07c0]
mov edx, dword [ebp - 0x5c]
add eax, ecx
mov edi, eax
sub edi, edx
jmp 0x10103da8
mov ecx, eax
lea edx, [ebp - 0xd0]
sub eax, dword [0x102f07c0]
add eax, edx
mov edi, eax
sub edi, edx
sub esi, eax
mov eax, ecx
sub eax, edi
cmp eax, esi
cmovb esi, eax
add edx, edi
sub ecx, esi
mov dword [ebp - 0x1c], ecx
sub ecx, edi
inc ecx
push ecx
lea eax, [esi + edx]
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [0x10248ad8]
lea esi, [ebp - 0xd0]
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x3e58]
push 0x102f0750
movss xmm1, dword [eax + 0xf4]
subss xmm1, dword [eax + 0x18]
addss xmm1, dword [eax + 0x7c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
lea ecx, [ebp - 0x50]
movss dword [ebp - 0x58], xmm1
movss xmm2, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
subss xmm2, dword [eax + 0x78]
subss xmm0, dword [eax + 0x7c]
addss xmm1, dword [ebp - 0x68]
mov byte [eax + 0x131], 1
addss xmm2, dword [ebp - 0xd4]
addss xmm1, xmm0
movss dword [eax + 0xf0], xmm2
movss dword [eax + 0xf4], xmm1
cmp dword [ebp - 0xbc], 0x10
cmovae esi, dword [ebp - 0xd0]
call fcn.10098c90
or dword [ebp - 0x18], 0x8000000
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x50]
cmp dword [ebp - 0x3c], 0x10
lea ecx, [ebp - 0xd0]
mov edi, dword [ebp - 0x50]
push dword [ebp - 0x40]
mov edx, dword [ebp - 0xc0]
cmovae eax, edi
setae byte [ebp - 0x11]
cmp dword [ebp - 0xbc], 0x10
push eax
cmovae ecx, dword [ebp - 0xd0]
call fcn.1009c610
test al, al
mov ecx, 0x10245b64
mov eax, 0x10245b54
cmove ecx, eax
push esi
push ecx
call fcn.1007c540
add esp, 0x10
mov byte [ebp - 4], 0xc
cmp byte [ebp - 0x11], 0
je 0x10103eef
mov ecx, dword [ebp - 0x3c]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x10103ee5
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101049ef
push ecx
push edi
call fcn.10148478
add esp, 8
mov ecx, dword [0x10248ad8]
sub esp, 0x10
movss xmm3, dword [ebp - 0x58]
addss xmm3, dword [ebp - 0x64]
mov eax, dword [ecx + 0x3e58]
movss dword [ebp - 0x60], xmm3
movss xmm2, dword [eax + 0x1c]
subss xmm2, dword [ebp - 0x54]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, 0x1022ecf4
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x18]
subss xmm0, dword [eax + 0x78]
subss xmm1, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm2, xmm0
addss xmm1, xmm3
movss dword [eax + 0xf0], xmm2
movss dword [eax + 0xf4], xmm1
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0xbf800000
call fcn.100f31a0
add esp, 0x10
test al, al
je 0x10103fbb
push 0x1d
push str.Confirmation_DeleteConfig
lea edx, [ebp - 0xd0]
lea ecx, [ebp - 0x50]
call fcn.100e2450
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.10071c80
mov ecx, eax
call fcn.10056d60
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xc
call fcn.10098150
mov ecx, dword [0x10248ad8]
sub esp, 0x10
mov eax, dword [ecx + 0x3e58]
movss xmm2, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, 0x1022ed54
subss xmm2, dword [0x10234e60]
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x18]
subss xmm0, dword [eax + 0x78]
subss xmm1, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm2, xmm0
addss xmm1, dword [ebp - 0x60]
movss dword [eax + 0xf0], xmm2
movss dword [eax + 0xf4], xmm1
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0xbf800000
call fcn.100f31a0
add esp, 0x10
test al, al
je 0x10104131
lea eax, [ebp - 0xb0]
mov ecx, 0x102f0750
push eax
call fcn.100a66d0
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 - 0xd0]
call fcn.1009b520
test al, al
je 0x101040a2
lea eax, [ebp - 0x50]
mov ecx, 0x102f0750
push eax
call fcn.100fbeb0
or dword [ebp - 0x18], 8
mov edx, 0x1017fa2a
mov ecx, eax
call fcn.10107790
mov byte [ebp - 0x11], 0
test al, al
jne 0x101040a6
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 0x18]
test al, 8
je 0x101040be
and eax, 0xfffffff7
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x18], eax
call fcn.10098150
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0xc
test al, 4
je 0x101040da
and eax, 0xfffffffb
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x18], eax
call fcn.10098150
cmp byte [ebp - 0x11], 0
je 0x1010411e
push 0x1b
push str.Confirmation_SaveConfig
lea edx, [ebp - 0xd0]
lea ecx, [ebp - 0xb0]
call fcn.100e2450
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.10071c80
mov ecx, eax
call fcn.10056d60
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xc
call fcn.10098150
jmp 0x10104131
push 1
lea eax, [ebp - 0xd0]
mov ecx, 0x102f0750
push eax
call fcn.100e7090
mov ecx, dword [0x10248ad8]
sub esp, 0x10
mov eax, dword [ecx + 0x3e58]
movss xmm2, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, 0x1022ed30
subss xmm2, dword [0x10234e80]
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x18]
subss xmm0, dword [eax + 0x78]
subss xmm1, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm2, xmm0
addss xmm1, dword [ebp - 0x60]
movss dword [eax + 0xf0], xmm2
movss dword [eax + 0xf4], xmm1
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0xbf800000
call fcn.100f31a0
add esp, 0x10
test al, al
je 0x101041d7
push 1
lea eax, [ebp - 0xd0]
mov ecx, 0x102f0750
push eax
call fcn.100e77d0
mov ecx, dword [ebp - 0x20]
call fcn.10106560
push 0x1b
push str.Confirmation_SaveConfig
lea edx, [ebp - 0xd0]
lea ecx, [ebp - 0x50]
call fcn.100e2450
add esp, 8
mov byte [ebp - 4], 0x11
cmp dword [eax + 0x14], 0x10
jb 0x101041fb
mov eax, dword [eax]
push 0x10041
mov ecx, eax
call fcn.10057480
mov byte [ebp - 4], 0xc
add esp, 4
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x10104248
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010423b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101049ef
push ecx
push edx
call fcn.10148478
mov al, byte [ebp - 0x11]
add esp, 8
test al, al
je 0x101042d0
push 0x24
push str.Do_you_really_want_to_override__
lea edx, [ebp - 0xd0]
lea ecx, [ebp - 0x50]
call fcn.100e2450
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x12
call fcn.10071c80
push eax
call fcn.1007c470
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x50]
call fcn.10098150
mov edx, 1
mov ecx, str.Yes__override
call fcn.100f3dd0
test al, al
je 0x101042b3
push 1
lea eax, [ebp - 0xd0]
mov ecx, 0x102f0750
push eax
call fcn.100e7090
call fcn.10057280
mov edx, 0xa
mov ecx, 0x1022afb8
call fcn.100f3dd0
test al, al
je 0x101042cb
call fcn.10057280
call fcn.100575d0
push 0x1d
push str.Confirmation_DeleteConfig
lea edx, [ebp - 0xd0]
lea ecx, [ebp - 0x50]
call fcn.100e2450
add esp, 8
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 0x10
jb 0x101042f4
mov eax, dword [eax]
push 0x10041
mov ecx, eax
call fcn.10057480
mov byte [ebp - 4], 0xc
add esp, 4
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x10104341
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104334
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101049ef
push ecx
push edx
call fcn.10148478
mov al, byte [ebp - 0x11]
add esp, 8
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
test al, al
je 0x101043df
push 0x22
push str.Do_you_really_want_to_delete__
lea edx, [ebp - 0xd0]
lea ecx, [ebp - 0x90]
call fcn.100e2450
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.10071c80
push eax
call fcn.1007c470
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x90]
call fcn.10098150
mov edx, 1
mov ecx, str.Yes__delete
call fcn.100f3dd0
test al, al
je 0x101043c2
lea eax, [ebp - 0xd0]
mov ecx, 0x102f0750
push eax
call fcn.100e92c0
call fcn.10057280
mov edx, 0xa
mov ecx, 0x1022afb8
call fcn.100f3dd0
test al, al
je 0x101043da
call fcn.10057280
call fcn.100575d0
mov ecx, dword [0x10248ad8]
sub esp, 8
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
movss xmm1, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
subss xmm1, dword [eax + 0x78]
subss xmm0, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm1, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x58]
movss dword [eax + 0xf0], xmm1
movss dword [eax + 0xf4], xmm0
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0x41e00000
call fcn.100f25c0
mov byte [ebp - 4], 8
add esp, 8
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x10
jb 0x10104485
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010447b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101049ef
push ecx
push edx
call fcn.10148478
add esp, 8
lea ecx, [ebp - 0xb8]
call fcn.100fbd80
mov esi, dword [ebp - 0xb8]
cmp esi, dword [ebp - 0x98]
jne 0x10103c76
mov edi, dword [ebp - 0x94]
or esi, 0xffffffff
test edi, edi
je 0x101044ce
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x101044ce
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x101044ce
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0xb4]
test edi, edi
je 0x101044f7
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x101044f7
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x101044f7
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0xdc]
test edi, edi
je 0x10104526
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10104526
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x10104526
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
call fcn.100f3720
mov esi, dword [0x10248ad8]
mov dword [ebp - 0xf4], 0
mov eax, dword [esi + 0x3e58]
lea ecx, [esi + 0x476c]
movss xmm1, dword [eax + 0xf0]
subss xmm1, dword [eax + 0x14]
addss xmm1, dword [eax + 0x78]
addss xmm1, dword [0x10234de4]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e58]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x78]
mov byte [eax + 0x131], 1
addss xmm0, xmm1
movss dword [eax + 0xf0], xmm0
lea eax, [ebp - 0xf4]
movups xmm0, xmmword [esi + 0x385c]
push eax
movups xmmword [ebp - 0xf0], xmm0
call fcn.1005e6f0
movups xmm0, xmmword [0x10245b54]
push str.23:34:17
push str.Dec_22_2023
push str.Built____s___s
movups xmmword [esi + 0x385c], xmm0
call fcn.1007c470
add esp, 0xc
mov ecx, 1
call fcn.10045ea0
call fcn.100769a0
movss xmm1, dword [0x10234ce8]
xor dl, dl
mov ecx, str.Debug
call fcn.100f3330
test al, al
je 0x10104768
push 0
mov edx, 0x102f3de1
mov ecx, str.Debug_info
call fcn.100f41e0
add esp, 4
mov edx, 0x102f3d99
mov ecx, str.Debug_logging
push 1
call fcn.100f41e0
mov edx, dword [0x102f0180]
add esp, 4
mov ecx, str.Allow_secure_servers
push 0
call fcn.100f41e0
mov edx, dword [0x102f0094]
add esp, 4
mov ecx, str.Pending_ping_refresh
lea edx, [edx + 0x33c]
push 1
call fcn.100f41e0
add esp, 4
mov edx, 0x102f3dbd
mov ecx, str.Show_server_hitboxes
push 0
call fcn.100f41e0
add esp, 4
xor ecx, ecx
call fcn.10048190
test al, al
je 0x10104679
push str.localhost_servers
call fcn.10056b50
add esp, 4
push 1
mov edx, 0x102f3d75
mov ecx, str.Anti_aim_lines
call fcn.100f41e0
mov eax, dword [0x10248794]
add esp, 4
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x102f62a8]
cmp eax, dword [ecx + 4]
jle 0x101046d9
push 0x102f62a8
call fcn.1014855a
add esp, 4
cmp dword [0x102f62a8], 0xffffffff
jne 0x101046d9
push 0x1015e650
call fcn.101488c3
add esp, 4
push 0x102f62a8
call fcn.10148509
add esp, 4
push 0
push 2
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.100f7b70
mov esi, dword [0x10246268]
add esp, 0x14
mov edx, 0x1a
mov ecx, str.Dispatch
call fcn.100f3dd0
test al, al
je 0x10104768
test esi, esi
je 0x10104768
mov ecx, esi
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xec], 0
call fcn.100aa300
mov ecx, str.ping_circle
mov edx, eax
call fcn.10071c80
push ecx
lea ecx, [ebp - 0xec]
push ecx
mov ecx, eax
call fcn.100f23a0
add esp, 8
call fcn.100f3720
movss xmm1, dword [0x10234ce8]
xor dl, dl
mov ecx, str.Extra
call fcn.100f3330
test al, al
je 0x101056b4
mov edx, 1
mov ecx, str.cl_fullupdate
call fcn.100f3dd0
test al, al
je 0x101047b1
mov ecx, dword [0x102efe60]
push str.cl_fullupdate
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov edx, 0xa
mov ecx, str.retry
call fcn.100f3dd0
test al, al
je 0x101047d9
mov ecx, dword [0x102efe60]
push str.retry
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov edx, 1
mov ecx, str.Console
call fcn.100f3dd0
test al, al
je 0x10104801
mov ecx, dword [0x102efe60]
push str.showconsole
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov edx, 0xa
mov ecx, str.Fix_Chams
call fcn.100f3dd0
test al, al
je 0x1010481e
mov ecx, 0x10245804
call fcn.10124ff0
mov ecx, dword [0x102efe60]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
jne 0x10104979
mov edx, 1
mov ecx, str.Unlock_achievements
call fcn.100f3dd0
test al, al
je 0x10104850
mov ecx, str.Unlock_achievements_
call fcn.10056d60
mov edx, 0xa
mov ecx, str.Lock_achievements
call fcn.100f3dd0
test al, al
je 0x1010486d
mov ecx, str.Lock_achievements_
call fcn.10056d60
push 0x40
mov ecx, str.Unlock_achievements_
call fcn.10057480
add esp, 4
test al, al
je 0x101048f3
push str.Do_you_really_want_to_unlock_all_achievements_
call fcn.1007c470
add esp, 4
call fcn.1007e760
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x43160000
mov ecx, str.Yes__unlock
mov dword [ebp - 0x30], 0
call fcn.1007cf00
test al, al
je 0x101048bb
call fcn.1010f5a0
call fcn.10057280
movss xmm1, dword [ebp - 0x74]
movss xmm0, dword [ebp - 0x70]
call fcn.10055840
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x43160000
mov ecx, 0x1022afb8
mov dword [ebp - 0x30], 0
call fcn.1007cf00
test al, al
je 0x101048ee
call fcn.10057280
call fcn.100575d0
push 0x40
mov ecx, str.Lock_achievements_
call fcn.10057480
add esp, 4
test al, al
je 0x10104979
push str.Do_you_really_want_to_lock_all_achievements_
call fcn.1007c470
add esp, 4
call fcn.1007e760
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x43160000
mov ecx, str.Yes__lock
mov dword [ebp - 0x30], 0
call fcn.1007cf00
test al, al
je 0x10104941
call fcn.1010f610
call fcn.10057280
movss xmm1, dword [ebp - 0x74]
movss xmm0, dword [ebp - 0x70]
call fcn.10055840
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x43160000
mov ecx, 0x1022afb8
mov dword [ebp - 0x30], 0
call fcn.1007cf00
test al, al
je 0x10104974
call fcn.10057280
call fcn.100575d0
cmp byte [0x102f3de1], 0
je 0x101056b4
mov edx, 1
mov ecx, str.Reveal_bullet_lines
call fcn.100f3dd0
test al, al
je 0x1010499e
call fcn.1012ca20
mov edx, 0xa
mov ecx, str.Reveal_prediction_lines
call fcn.100f3dd0
test al, al
je 0x101049b6
call fcn.1012ca60
mov edx, 1
mov ecx, str.Reveal_boxes
call fcn.100f3dd0
test al, al
je 0x101049ce
call fcn.1012caa0
mov edx, 0xa
mov ecx, str.Print_hashes
call fcn.100f3dd0
test al, al
je 0x101056b4
call fcn.10147df0
jmp 0x101056b4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, dword [0x10248ad8]
push ecx
push str.ConfigConditionsTable
mov dword [ebp - 0x34], edi
mov ecx, dword [eax + 0x3e58]
mov dword [ebp - 0x30], edi
call fcn.10047cb0
push ecx
mov dword [esp], edi
lea ecx, [ebp - 0x34]
push ecx
push 0
push 2
mov edx, eax
mov ecx, str.ConfigConditionsTable
call fcn.10071e50
add esp, 0x10
test al, al
je case.default.0x1010307d
call fcn.100769a0
movss xmm1, dword [0x10234ce8]
xor dl, dl
mov ecx, str.Settings
call fcn.100f3330
test al, al
je 0x10104a79
push 0
mov edx, 0x102f2225
mov ecx, str.Show_keybind_menu
call fcn.100f41e0
add esp, 4
mov edx, 0x102f2201
mov ecx, str.Show_keybind_changes
push 1
call fcn.100f41e0
add esp, 4
call fcn.100f3720
call fcn.100769a0
jmp 0x101056b9
call fcn.101092f0
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 [0x10248ad8]
push ecx
push str.MaterialsTable
mov dword [ebp - 0x34], edi
mov ecx, dword [eax + 0x3e58]
mov dword [ebp - 0x30], edi
call fcn.10047cb0
push ecx
mov dword [esp], edi
lea ecx, [ebp - 0x34]
push ecx
push 0
push 2
mov edx, eax
mov ecx, str.MaterialsTable
call fcn.10071e50
add esp, 0x10
test al, al
je case.default.0x1010307d
call fcn.100769a0
movss xmm1, dword [0x10234ce8]
xor dl, dl
mov ecx, str.Manager
call fcn.100f3330
test al, al
je 0x10105282
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10248794]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102f62a4]
cmp eax, dword [ecx + 4]
jle 0x10104b4c
push 0x102f62a4
call fcn.1014855a
add esp, 4
cmp dword [0x102f62a4], 0xffffffff
jne 0x10104b4c
push 0x1015e5f0
call fcn.101488c3
add esp, 4
push 0x102f62a4
call fcn.10148509
add esp, 4
push 0
push 0xa
sub esp, 0xc
mov edx, 0x1024546c
mov eax, esp
mov ecx, str.Material_name
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
call fcn.100f7b70
add esp, 0x14
mov edx, 0x1c
mov ecx, str.Create
call fcn.100f3dd0
test al, al
je 0x10104ba8
cmp dword [0x1024547c], edi
jbe 0x10104ba8
sub esp, 0x18
mov ecx, esp
push 0x1024546c
call fcn.10098c90
call fcn.10126a60
mov ecx, 0x1024546c
call fcn.10098b80
mov edx, 0x1c
mov ecx, str.Folder
call fcn.100f3dd0
test al, al
je 0x10104bf9
push str.Materials
mov edx, 0x102f0780
lea ecx, [ebp - 0x118]
call fcn.100dbb50
add esp, 4
mov ecx, eax
push 0xa
push 0
push 0
call fcn.10071c80
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0x118]
call fcn.10098150
mov ecx, dword [0x10245808]
mov eax, dword [0x10245804]
mov dword [ebp - 0x68], ecx
cmp eax, ecx
je 0x10105282
mov edi, eax
mov ecx, dword [0x10248ad8]
mov edx, 0x10245b54
movss xmm4, dword [0x10234df0]
movss xmm3, dword [0x10234e00]
mov eax, dword [ecx + 0x3e58]
movss xmm1, dword [eax + 0xf4]
subss xmm1, dword [eax + 0x18]
addss xmm1, dword [eax + 0x7c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, edi
movss dword [ebp - 0x58], xmm1
addss xmm1, xmm4
movss xmm2, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
subss xmm2, dword [eax + 0x78]
subss xmm0, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm2, xmm3
addss xmm1, xmm0
movss dword [eax + 0xf0], xmm2
movss dword [eax + 0xf4], xmm1
cmp dword [edi + 0x14], 0x10
jb 0x10104c97
mov ecx, dword [edi]
cmp byte [edi + 0x34], 0
mov eax, edx
mov edx, 0x10245b64
cmove eax, edx
push ecx
push eax
call fcn.1007c540
movss xmm4, dword [ebp - 0x58]
add esp, 8
cmp byte [edi + 0x34], 0
mov edx, 0x1a
addss xmm4, dword [0x10234de8]
movss dword [ebp - 0x64], xmm4
jne 0x10105012
mov ecx, dword [0x10248ad8]
sub esp, 0x10
mov eax, dword [ecx + 0x3e58]
movss xmm2, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
mov ecx, 0x1022ecf4
subss xmm2, dword [0x10234e30]
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x18]
subss xmm0, dword [eax + 0x78]
subss xmm1, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm2, xmm0
addss xmm1, xmm4
movss dword [eax + 0xf0], xmm2
movss dword [eax + 0xf4], xmm1
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0xbf800000
call fcn.100f31a0
add esp, 0x10
test al, al
je 0x10104e3c
cmp dword [edi + 0x14], 0x10
mov ecx, edi
jb 0x10104d68
mov ecx, dword [edi]
mov eax, dword [edi + 0x10]
sub esp, 8
mov dword [ebp - 0xe4], eax
mov eax, esp
mov dword [ebp - 0xe8], ecx
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xec], 0xc0000000
push 0x1a
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x50]
push str.Confirmation_DeleteMat
mov dword [eax], 1
call fcn.100c6bf0
or dword [ebp - 0x18], 0x4000
mov dword [ebp - 4], 0x28
lea eax, [ebp - 0x50]
cmp dword [ebp - 0x3c], 0x10
mov esi, dword [0x10248ad8]
cmovae eax, dword [ebp - 0x50]
add esp, 0xc
mov dword [ebp - 0x24], eax
mov ecx, dword [esi + 0x3e58]
push eax
call fcn.10047cb0
test byte [esi + 0x5afc], 4
mov dword [ebp - 0x54], eax
je 0x10104df5
push eax
push dword [ebp - 0x24]
push str._popup__OpenPopup___s_____0x_08X__n
call fcn.1005da10
mov eax, dword [ebp - 0x54]
add esp, 0xc
xor edx, edx
mov ecx, eax
call fcn.10056da0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10104e39
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104e2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101049ef
push ecx
push edx
call fcn.10148478
add esp, 8
mov esi, dword [ebp - 0x20]
cmp dword [edi + 0x14], 0x10
mov ecx, edi
jb 0x10104e46
mov ecx, dword [edi]
mov eax, dword [edi + 0x10]
sub esp, 8
mov dword [ebp - 0x30], eax
mov eax, esp
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0xc0000000
push 0x1a
mov dword [eax + 4], ecx
lea ecx, [ebp - 0xb0]
push str.Confirmation_DeleteMat
mov dword [eax], 1
call fcn.100c6bf0
mov eax, dword [ebp - 0x18]
or eax, 0x100
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0x29
lea ecx, [ebp - 0xb0]
cmp dword [ebp - 0x9c], 0x10
push 0x10041
cmovae ecx, dword [ebp - 0xb0]
call fcn.10057480
mov dword [ebp - 4], 0xffffffff
add esp, 0x14
mov ecx, dword [ebp - 0x9c]
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x10104ef6
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104ee9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101049ef
push ecx
push edx
call fcn.10148478
mov al, byte [ebp - 0x11]
add esp, 8
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
test al, al
je 0x10105008
cmp dword [edi + 0x14], 0x10
mov ecx, edi
jb 0x10104f23
mov ecx, dword [edi]
mov eax, dword [edi + 0x10]
sub esp, 8
mov dword [ebp - 0xf8], eax
mov eax, esp
mov dword [ebp - 0xfc], ecx
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x100], 0xc0000000
push 0x22
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x50]
push str.Do_you_really_want_to_delete__
mov dword [eax], 1
call fcn.100c6bf0
mov eax, dword [ebp - 0x18]
or eax, 0x2000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0x2a
lea eax, [ebp - 0x50]
cmp dword [ebp - 0x3c], 0x10
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1007c470
mov dword [ebp - 4], 0xffffffff
add esp, 0x14
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10104fc3
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104fb9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101049ef
push ecx
push edx
call fcn.10148478
add esp, 8
mov edx, 1
mov ecx, 0x1022afb4
call fcn.100f3dd0
test al, al
je 0x10104feb
sub esp, 0x18
mov ecx, esp
push edi
call fcn.10098c90
call fcn.10127c00
call fcn.10057280
mov edx, 0xa
mov ecx, 0x1022afb8
call fcn.100f3dd0
test al, al
je 0x10105003
call fcn.10057280
call fcn.100575d0
movss xmm4, dword [ebp - 0x64]
mov edx, 0x33
mov ecx, dword [0x10248ad8]
sub esp, 0x10
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx + 0x3e58]
movss xmm3, dword [eax + 0x1c]
mov byte [eax + 0xac], 1
subss xmm3, xmm0
mov eax, dword [ecx + 0x3e58]
mov ecx, 0x1022f090
movss xmm1, dword [eax + 0x14]
movss xmm2, dword [eax + 0x18]
subss xmm1, dword [eax + 0x78]
subss xmm2, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm3, xmm1
addss xmm4, xmm2
movss dword [eax + 0xf0], xmm3
movss dword [eax + 0xf4], xmm4
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0xbf800000
call fcn.100f31a0
add esp, 0x10
test al, al
je 0x10105204
add esi, 0x298
cmp esi, edi
je 0x101050c2
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x101050b7
mov eax, dword [edi]
push dword [edi + 0x10]
mov ecx, esi
push eax
call fcn.10098e90
mov ecx, dword [ebp - 0x20]
mov al, byte [edi + 0x34]
push esi
mov byte [ecx + 0x2b0], al
lea ecx, [ebp - 0x90]
call fcn.10098c90
mov dword [ebp - 4], 0x2b
mov esi, dword [0x10245804]
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x74], edx
cmp esi, dword [0x10245808]
je 0x10105134
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x10105102
mov eax, dword [esi]
cmp dword [ebp - 0x7c], 0x10
lea ecx, [ebp - 0x90]
push dword [esi + 0x10]
cmovae ecx, edx
mov edx, dword [ebp - 0x80]
push eax
call fcn.1009c610
add esp, 8
test al, al
jne 0x101054a1
mov edx, dword [ebp - 0x74]
add esi, 0x38
cmp esi, dword [0x10245808]
jne 0x101050f8
mov eax, dword [ebp - 0x18]
xorps xmm0, xmm0
or eax, 0x200
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x50], 0
cmp eax, 0x10
jb 0x10105195
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1010518b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101049ef
push ecx
push edx
call fcn.10148478
add esp, 8
mov byte [ebp - 0x90], 0
mov dword [ebp - 0x7c], 0xf
mov dword [ebp - 0x80], 0
mov esi, dword [ebp - 0x20]
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 4], 0x2c
lea ecx, [esi + 0x40]
call fcn.10093f90
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x101051fb
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101051f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101049ef
push ecx
push edx
call fcn.10148478
add esp, 8
mov al, byte [esi + 0x2b0]
mov byte [esi + 0x7d], al
mov ecx, dword [0x10248ad8]
sub esp, 8
movss xmm2, dword [ebp - 0x58]
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
movss xmm1, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
subss xmm1, dword [eax + 0x78]
subss xmm0, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm1, dword [0x10234dd8]
addss xmm2, xmm0
movss dword [eax + 0xf0], xmm1
movss dword [eax + 0xf4], xmm2
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0x41e00000
call fcn.100f25c0
add edi, 0x38
add esp, 8
cmp edi, dword [ebp - 0x68]
jne 0x10104c11
mov edi, dword [ebp - 0x18]
call fcn.100f3720
call fcn.100769a0
add esi, 0x298
mov ecx, esi
cmp dword [esi + 0x14], 0x10
jb 0x1010529c
mov ecx, dword [esi]
mov edx, dword [esi + 0x10]
push 0
push 0x1017fa2a
call fcn.1009c610
add esp, 8
test al, al
jne 0x101056b9
mov ecx, dword [0x10248ad8]
mov eax, dword [ecx + 0x3e58]
cmp dword [eax + 0x190], 0
jne 0x101052da
cmp dword [ecx + 0x4a14], 0
lea ecx, [eax + 0x22c]
je 0x101052e0
lea ecx, [eax + 0x1fc]
movss xmm1, dword [ecx]
mov dl, 1
subss xmm1, dword [eax + 0x18]
mov ecx, str.Editor
subss xmm1, dword [0x10234e10]
call fcn.100f3330
test al, al
je 0x101056b4
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x2b0], 0
jne 0x101053b1
mov edx, 4
mov ecx, str.Save
call fcn.100f3dd0
test al, al
je 0x101053a1
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x50]
push eax
lea ecx, [ecx + 0x40]
call fcn.100967b0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0x50]
call fcn.10098b60
lea ecx, [ebp - 0x50]
mov edx, dword [eax]
lea eax, [ebp - 0x54]
push eax
call fcn.10098b60
push edx
lea ecx, [ebp - 0x50]
mov eax, dword [eax]
dec eax
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.100dcc00
sub esp, 0x18
lea eax, [ebp - 0x50]
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.10098c90
sub esp, 0x18
mov byte [ebp - 4], 0x2e
mov ecx, esp
push esi
call fcn.10098c90
mov byte [ebp - 4], 0x2d
call fcn.10127400
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10098150
movss xmm1, dword [0x10234fd0]
xorps xmm0, xmm0
call fcn.10055840
mov edx, 4
mov ecx, str.Close
call fcn.100f3dd0
test al, al
je 0x101053d0
push 0x1017fa2a
mov ecx, esi
call fcn.10098ba0
movss xmm1, dword [0x10234fd0]
xorps xmm0, xmm0
call fcn.10055840
mov esi, dword [0x10248ad8]
mov dword [ebp - 0xf4], 0
mov eax, dword [esi + 0x3e58]
lea ecx, [esi + 0x476c]
movss xmm1, dword [eax + 0xf4]
subss xmm1, dword [eax + 0x18]
addss xmm1, dword [eax + 0x7c]
addss xmm1, dword [0x10234e34]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e58]
movss xmm0, dword [eax + 0x18]
subss xmm0, dword [eax + 0x7c]
mov byte [eax + 0x131], 1
addss xmm0, xmm1
movss dword [eax + 0xf4], xmm0
lea eax, [ebp - 0xf4]
movups xmm0, xmmword [esi + 0x385c]
push eax
movups xmmword [ebp - 0xf0], xmm0
call fcn.1005e6f0
mov eax, dword [ebp - 0x20]
movups xmm0, xmmword [0x10245b54]
push 0xb
movups xmmword [esi + 0x385c], xmm0
cmp byte [eax + 0x2b0], 0
lea edx, [eax + 0x298]
je 0x101054da
push str.Viewing:_
lea ecx, [ebp - 0x50]
call fcn.100e2450
add esp, 8
mov dword [ebp - 4], 0x2f
mov edx, dword [ebp - 0x18]
or edx, 0x40
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], edx
jmp 0x10105500
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x50]
call fcn.10098c90
mov eax, dword [ebp - 0x18]
or eax, 0x200
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x10105195
mov edx, dword [ebp - 0x90]
inc ecx
jmp 0x1010516d
push str.Editing:_
lea ecx, [ebp - 0x118]
call fcn.100e2450
add esp, 8
or edi, 0x80
mov dword [ebp - 4], 0x30
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], edi
mov ecx, eax
call fcn.10071c80
mov edx, dword [0x10248ad8]
mov esi, eax
mov ecx, dword [edx + 0x3e58]
movss xmm1, dword [ecx + 0x1c]
movss dword [ebp - 0x24], xmm1
test esi, esi
jne 0x10105528
xorps xmm2, xmm2
jmp 0x10105577
movss xmm3, dword [0x10234fa0]
lea eax, [ebp - 0x34]
movss xmm2, dword [edx + 0x3bc4]
push 0
push 0
push esi
push ecx
mov ecx, dword [edx + 0x3bc0]
mov dword [esp], 0xbf800000
push eax
call fcn.1006db90
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [0x10234ce0]
mov edx, dword [0x10248ad8]
movss xmm1, dword [ebp - 0x24]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov eax, dword [edx + 0x3e58]
subss xmm1, xmm2
push 1
mov ecx, esi
mov byte [eax + 0xac], 1
mov eax, dword [edx + 0x3e58]
xor edx, edx
subss xmm1, dword [0x10234de4]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x78]
mov byte [eax + 0x131], 1
addss xmm0, xmm1
movss dword [eax + 0xf0], xmm0
call fcn.1007bd70
mov eax, dword [ebp - 0x18]
add esp, 4
test al, al
jns 0x101055de
and eax, 0xffffff7f
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x18], eax
call fcn.10098150
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
test al, 0x40
je 0x101055f1
lea ecx, [ebp - 0x50]
call fcn.10098150
mov ecx, 1
call fcn.10045ea0
mov ecx, dword [0x10248ad8]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0x41000000
mov eax, dword [ecx + 0x3e58]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e58]
cmp byte [eax + 0xaf], 0
jne 0x10105695
movss xmm3, dword [eax + 0xf0]
lea ecx, [ebp - 0x34]
movss xmm0, dword [eax + 0xf4]
movaps xmm4, xmm3
addss xmm4, dword [0x10234ba8]
movss xmm1, dword [0x10234fd0]
movaps xmm2, xmm0
addss xmm2, dword [0x10234de4]
movss dword [ebp - 0xf0], xmm3
movss dword [ebp - 0xec], xmm0
movss dword [ebp - 0xe8], xmm4
movss dword [ebp - 0xe4], xmm2
call fcn.10055480
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0xf0]
call fcn.100555e0
add esp, 8
push ecx
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0
push eax
push ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x30], 0
lea ecx, [ecx + 0x40]
call fcn.10093d70
call fcn.100f3720
call fcn.10074e80
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