Function at 0x4235e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x466335
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x484540]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
lea eax, [ecx + 0x170]
push eax
lea eax, [ecx + 0x16c]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004171e0
push str._theme.ini
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0
push eax
call fcn.00417110
add esp, 0x18
mov byte [ebp - 4], 2
or eax, 0xffffffff
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42365a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423686
cmp ecx, dword [esi - 0x10]
jne 0x423686
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x4236b4
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 3
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x424928
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push 0x476e30
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00402a30
test al, al
jne 0x423700
push 9
push 0x476e30
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x118], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423742
cmp ecx, dword [esi - 0x10]
jne 0x423742
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x423770
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 5
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x424932
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.MeterText
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.00402a30
test al, al
jne 0x4237bc
push 9
push str.MeterText
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 5
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x11c], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x4237fe
cmp ecx, dword [esi - 0x10]
jne 0x4237fe
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x42382c
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 7
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x42493c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ComboText
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00402a30
test al, al
jne 0x423878
push 9
push str.ComboText
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 7
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x120], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x4238ba
cmp ecx, dword [esi - 0x10]
jne 0x4238ba
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x4238e8
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 9
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x424946
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ComboTextSelected
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.00402a30
test al, al
jne 0x423934
push 0x11
push str.ComboTextSelected
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 9
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x124], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423976
cmp ecx, dword [esi - 0x10]
jne 0x423976
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x4239a4
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x424950
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ComboBk
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.00402a30
test al, al
jne 0x4239f3
push 7
push str.ComboBk
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x128], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423a35
cmp ecx, dword [esi - 0x10]
jne 0x423a35
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x423a63
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0xc0
push ecx
mov esi, esp
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x42495a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ComboBkSelected
mov ecx, esi
mov byte [ebp - 4], 0xe
call fcn.00402a30
test al, al
jne 0x423ab2
push 0xf
push str.ComboBkSelected
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x12c], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423af4
cmp ecx, dword [esi - 0x10]
jne 0x423af4
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x423b22
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x424964
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ButtonText
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.00402a30
test al, al
jne 0x423b6e
push 0xa
push str.ButtonText
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x130], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423bb0
cmp ecx, dword [esi - 0x10]
jne 0x423bb0
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x423bde
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x42496e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.EditText
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.00402a30
test al, al
jne 0x423c2a
push 8
push str.EditText
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x134], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423c6c
cmp ecx, dword [esi - 0x10]
jne 0x423c6c
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x423c9a
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x424978
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.EditBk
mov ecx, esi
mov byte [ebp - 4], 0x14
call fcn.00402a30
test al, al
jne 0x423ce9
push 6
push str.EditBk
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x138], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423d2b
cmp ecx, dword [esi - 0x10]
jne 0x423d2b
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x423d59
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x424982
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListText1
mov ecx, esi
mov byte [ebp - 4], 0x16
call fcn.00402a30
test al, al
jne 0x423da5
push 9
push str.ListText1
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x13c], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423de7
cmp ecx, dword [esi - 0x10]
jne 0x423de7
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x423e15
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x42498c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListText2
mov ecx, esi
mov byte [ebp - 4], 0x18
call fcn.00402a30
test al, al
jne 0x423e61
push 9
push str.ListText2
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x140], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423ea3
cmp ecx, dword [esi - 0x10]
jne 0x423ea3
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x423ed1
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x424996
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListTextSelected
mov ecx, esi
mov byte [ebp - 4], 0x1a
call fcn.00402a30
test al, al
jne 0x423f1d
push 0x10
push str.ListTextSelected
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x19
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x144], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x423f5f
cmp ecx, dword [esi - 0x10]
jne 0x423f5f
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x423f8d
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x4249a0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListBk1
mov ecx, esi
mov byte [ebp - 4], 0x1c
call fcn.00402a30
test al, al
jne 0x423fdc
push 7
push str.ListBk1
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x148], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x42401e
cmp ecx, dword [esi - 0x10]
jne 0x42401e
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x42404c
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x4249aa
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListBk2
mov ecx, esi
mov byte [ebp - 4], 0x1e
call fcn.00402a30
test al, al
jne 0x42409b
push 7
push str.ListBk2
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x14c], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x4240dd
cmp ecx, dword [esi - 0x10]
jne 0x4240dd
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x42410b
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x4249b4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListBkSelected
mov ecx, esi
mov byte [ebp - 4], 0x20
call fcn.00402a30
test al, al
jne 0x424157
push 0xe
push str.ListBkSelected
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x150], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x424199
cmp ecx, dword [esi - 0x10]
jne 0x424199
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x4241c7
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x4249be
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListLine1
mov ecx, esi
mov byte [ebp - 4], 0x22
call fcn.00402a30
test al, al
jne 0x424213
push 9
push str.ListLine1
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x154], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x424255
cmp ecx, dword [esi - 0x10]
jne 0x424255
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x424283
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0
push ecx
mov esi, esp
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x4249c8
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ListLine2
mov ecx, esi
mov byte [ebp - 4], 0x24
call fcn.00402a30
test al, al
jne 0x4242cf
push 9
push str.ListLine2
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x23
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x158], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x424311
cmp ecx, dword [esi - 0x10]
jne 0x424311
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x42433f
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0xff
push ecx
mov esi, esp
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x4249d2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.Glass
mov ecx, esi
mov byte [ebp - 4], 0x26
call fcn.00402a30
test al, al
jne 0x42438e
push 5
push str.Glass
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x25
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
push ecx
mov ebx, esp
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x15c], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x4243d0
cmp ecx, dword [esi - 0x10]
jne 0x4243d0
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x4243fe
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov ecx, esi
mov edx, dword [esi - 0xc]
inc edx
push edx
push ecx
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
push 0x80
push ecx
mov esi, esp
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x18], esi
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x4249dc
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.Frame
mov ecx, esi
mov byte [ebp - 4], 0x28
call fcn.00402a30
test al, al
jne 0x42444d
push 5
push str.Frame
mov ecx, esi
call fcn.00402c10
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 2
call fcn.00424a20
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov dword [ecx + 0x160], eax
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x424486
cmp ecx, dword [esi - 0x10]
jne 0x424486
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x4244b2
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
lea eax, [edi + 0x10]
mov ecx, dword [esi - 0xc]
inc ecx
push ecx
push esi
push ecx
push eax
call fcn.00402de0
add esp, 0x10
lea esi, [edi + 0x10]
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x24], eax
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x4249eb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.ComboAlpha
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2a
call fcn.00402a30
test al, al
jne 0x424500
push 0xa
push str.ComboAlpha
lea ecx, [ebp - 0x18]
call fcn.00402c10
push esi
push 0xff
mov byte [ebp - 4], 2
push dword [ebp - 0x18]
push str.Alpha
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [ebp - 0x18]
or edi, 0xffffffff
mov bl, al
add edx, 0xfffffff0
mov ecx, edi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x424537
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x42454e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov byte [eax + 0x164], bl
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x42457a
cmp ecx, dword [esi - 0x10]
jne 0x42457a
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x4245a6
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249f5
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
lea eax, [edi + 0x10]
mov ecx, dword [esi - 0xc]
inc ecx
push ecx
push esi
push ecx
push eax
call fcn.00402de0
add esp, 0x10
lea esi, [edi + 0x10]
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x2b
mov dword [ebp - 0x24], eax
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x4249fa
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.EditAlpha
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2c
call fcn.00402a30
test al, al
jne 0x4245f4
push 9
push str.EditAlpha
lea ecx, [ebp - 0x18]
call fcn.00402c10
push esi
push 0xff
mov byte [ebp - 4], 2
push dword [ebp - 0x18]
push str.Alpha
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [ebp - 0x18]
or edi, 0xffffffff
mov bl, al
add edx, 0xfffffff0
mov ecx, edi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x42462b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x424642
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov byte [eax + 0x165], bl
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x42466e
cmp ecx, dword [esi - 0x10]
jne 0x42466e
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x42469a
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x424a04
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
lea eax, [edi + 0x10]
mov ecx, dword [esi - 0xc]
inc ecx
push ecx
push esi
push ecx
push eax
call fcn.00402de0
add esp, 0x10
lea esi, [edi + 0x10]
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x2d
mov dword [ebp - 0x24], eax
call fcn.0042f5de
mov ecx, eax
test ecx, ecx
je 0x424a09
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.GlassAlpha
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2e
call fcn.00402a30
test al, al
jne 0x4246e8
push 0xa
push str.GlassAlpha
lea ecx, [ebp - 0x18]
call fcn.00402c10
push esi
push 0x80
mov byte [ebp - 4], 2
push dword [ebp - 0x18]
push str.Alpha
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [ebp - 0x18]
or edi, 0xffffffff
mov bl, al
add edx, 0xfffffff0
mov ecx, edi
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x42471f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x424736
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov byte [eax + 0x166], bl
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x424762
cmp ecx, dword [esi - 0x10]
jne 0x424762
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x42478e
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4249e6
mov ecx, dword [esi - 0xc]
lea eax, [edi + 0x10]
mov dword [edi + 4], ecx
mov edx, dword [esi - 0xc]
inc edx
push edx
push esi
push edx
push eax
call fcn.00402de0
add esp, 0x10
lea esi, [edi + 0x10]
push esi
push 0
push str.Position
push str.Character
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov bl, al
add esi, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [esi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4247be
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x14]
push ecx
mov byte [eax + 0x167], bl
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x4247f0
cmp ecx, dword [esi - 0x10]
jne 0x4247f0
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x42481c
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x424a13
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
lea eax, [edi + 0x10]
mov ecx, dword [esi - 0xc]
inc ecx
push ecx
push esi
push ecx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
lea eax, [ebp - 0x20]
push 1
push eax
call fcn.00424aa0
mov ecx, dword [ebp - 0x14]
push eax
add ecx, 0x178
mov byte [ebp - 4], 0x2f
call fcn.004027d0
mov byte [ebp - 4], 2
or eax, 0xffffffff
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42485e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
mov ecx, eax
lea eax, [esi - 4]
jl 0x424887
cmp ecx, dword [esi - 0x10]
jne 0x424887
lea edi, [esi - 0x10]
lock inc dword [eax]
jmp 0x4248b3
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x424a18
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
lea eax, [edi + 0x10]
mov ecx, dword [esi - 0xc]
inc ecx
push ecx
push esi
push ecx
push eax
call fcn.00402de0
add esp, 0x10
lea eax, [edi + 0x10]
mov dword [ebx], eax
lea eax, [ebp - 0x20]
push 2
push eax
call fcn.00424aa0
mov ecx, dword [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x30
lea ecx, [ecx + 0x17c]
call fcn.004027d0
mov byte [ebp - 4], 2
or ebx, 0xffffffff
mov edx, dword [ebp - 0x20]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4248f7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x424916
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
push 0x80004005
call fcn.00403110
call fcn.00402ef0
push 0x80004005
call fcn.00403110
call fcn.00402ef0
push 0x80004005
call fcn.00403110
call fcn.00402ef0
push 0x80004005
call fcn.00403110
call fcn.00402ef0
call fcn.00402ef0
int3