Function at 0x478350
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5c06a5
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x615370]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x78]
xor esi, esi
cmp ecx, esi
jne 0x4783a2
mov eax, 0x80004005
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x78], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x14]
push edx
push str.PanelLeft
call eax
test eax, eax
jl 0x478466
mov eax, dword [esp + 0x14]
mov edi, eax
cmp dword [ebx + 0x1a4], eax
je 0x4783f5
cmp eax, esi
je 0x4783dd
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebx + 0x1a4]
cmp eax, esi
je 0x4783ef
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x1a4], edi
call fcn.00407e80
call fcn.00418ec0
push 0x70
mov edi, eax
call fcn.005851c0
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x78], 1
cmp eax, esi
je 0x478423
mov esi, eax
call fcn.00565a60
mov esi, eax
jmp 0x478425
xor esi, esi
mov byte [esp + 0x78], 0
mov dword [esp + 0x24], esi
test esi, esi
je 0x47843a
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov byte [esp + 0x78], 2
mov byte [esi + 0x54], 0
mov dword [esi + 0x58], edi
mov ecx, dword [ebx + 0x1a4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x8c]
push esi
call eax
mov byte [esp + 0x78], 0
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
xor esi, esi
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x47847a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x14]
push edx
push str.PanelRight
call eax
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x4784cc
mov edi, eax
cmp dword [ebx + 0x1a8], eax
je 0x4784cc
cmp eax, esi
je 0x4784b0
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x1a8]
cmp ecx, esi
je 0x4784c6
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x1a8], edi
cmp eax, esi
je 0x4784dc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.SystemList
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x47852e
mov edi, eax
cmp dword [ebx + 0x1cc], eax
je 0x47852e
cmp eax, esi
je 0x478512
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x1cc]
cmp ecx, esi
je 0x478528
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x1cc], edi
cmp eax, esi
je 0x47853e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.PanelSearch
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478590
mov edi, eax
cmp dword [ebx + 0x1ac], eax
je 0x478590
cmp eax, esi
je 0x478574
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x1ac]
cmp ecx, esi
je 0x47858a
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x1ac], edi
cmp eax, esi
je 0x4785a0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.SearchList
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x4785f2
mov edi, eax
cmp dword [ebx + 0x1b8], eax
je 0x4785f2
cmp eax, esi
je 0x4785d6
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x1b8]
cmp ecx, esi
je 0x4785ec
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x1b8], edi
cmp eax, esi
je 0x478602
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ControlInfo
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478654
mov edi, eax
cmp dword [ebx + 0x1b4], eax
je 0x478654
cmp eax, esi
je 0x478638
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x1b4]
cmp ecx, esi
je 0x47864e
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x1b4], edi
cmp eax, esi
je 0x478664
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.MetroTips
call edx
test eax, eax
jl 0x478755
mov eax, dword [esp + 0x14]
mov edi, eax
cmp dword [ebx + 0x1b0], eax
je 0x4786b2
cmp eax, esi
je 0x47869a
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebx + 0x1b0]
cmp eax, esi
je 0x4786ac
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x1b0], edi
mov edi, 0x5c9b08
lea ebx, [esp + 0x24]
call fcn.0051693e
mov byte [esp + 0x78], 3
mov eax, dword [esp + 0x24]
push eax
push 1
push str.MetroTips
push str.SoftMgrLite
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, eax
call fcn.00516560
xor ecx, ecx
cmp dword [0x6230c0], 0x1000
sete cl
mov edi, ecx
call fcn.004e6720
mov ebx, eax
call fcn.004e6650
test esi, esi
je 0x478715
test edi, edi
je 0x478715
test ebx, ebx
jne 0x478715
test eax, eax
je 0x478715
lea eax, [ebx + 1]
jmp 0x478717
xor eax, eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x1b0]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0xa8]
call eax
mov byte [esp + 0x78], 0
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x478750
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp + 8]
xor esi, esi
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478769
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x14]
push edx
push str.BtnMetroClose
call eax
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x4787da
mov edi, eax
cmp dword [ebx + 0x184], eax
je 0x4787bb
cmp eax, esi
je 0x47879f
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x184]
cmp ecx, esi
je 0x4787b5
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x184], edi
mov ecx, dword [ebx + 0x184]
cmp ecx, esi
je 0x4787da
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x4787da
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4787ea
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.BtnMetroOk
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x47885b
mov edi, eax
cmp dword [ebx + 0x188], eax
je 0x47883c
cmp eax, esi
je 0x478820
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x188]
cmp ecx, esi
je 0x478836
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x188], edi
mov ecx, dword [ebx + 0x188]
cmp ecx, esi
je 0x47885b
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x47885b
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x47886b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonHead
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x4788dc
mov edi, eax
cmp dword [ebx + 0x174], eax
je 0x4788bd
cmp eax, esi
je 0x4788a1
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x174]
cmp ecx, esi
je 0x4788b7
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x174], edi
mov ecx, dword [ebx + 0x174]
cmp ecx, esi
je 0x4788dc
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x4788dc
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4788ec
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonBack
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x47895d
mov edi, eax
cmp dword [ebx + 0x178], eax
je 0x47893e
cmp eax, esi
je 0x478922
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x178]
cmp ecx, esi
je 0x478938
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x178], edi
mov ecx, dword [ebx + 0x178]
cmp ecx, esi
je 0x47895d
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x47895d
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x47896d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonPrev
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x4789de
mov edi, eax
cmp dword [ebx + 0x17c], eax
je 0x4789bf
cmp eax, esi
je 0x4789a3
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x17c]
cmp ecx, esi
je 0x4789b9
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x17c], edi
mov ecx, dword [ebx + 0x17c]
cmp ecx, esi
je 0x4789de
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x4789de
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4789ee
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonSkin
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478a5f
mov edi, eax
cmp dword [ebx + 0x180], eax
je 0x478a40
cmp eax, esi
je 0x478a24
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x180]
cmp ecx, esi
je 0x478a3a
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x180], edi
mov ecx, dword [ebx + 0x180]
cmp ecx, esi
je 0x478a5f
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x478a5f
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478a6f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonAllProg
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478ae0
mov edi, eax
cmp dword [ebx + 0x144], eax
je 0x478ac1
cmp eax, esi
je 0x478aa5
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x144]
cmp ecx, esi
je 0x478abb
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x144], edi
mov ecx, dword [ebx + 0x144]
cmp ecx, esi
je 0x478ae0
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x478ae0
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478af0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonNormal
call edx
test eax, eax
jl 0x478b67
mov eax, dword [esp + 0x14]
mov edi, eax
cmp dword [ebx + 0x148], eax
je 0x478b3a
cmp eax, esi
je 0x478b22
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebx + 0x148]
cmp eax, esi
je 0x478b34
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x148], edi
mov ecx, dword [ebx + 0x148]
mov eax, dword [ecx]
mov edx, dword [eax + 0xfc]
push 3
call edx
mov ecx, dword [ebx + 0x148]
cmp ecx, esi
je 0x478b67
lea eax, [ebx + 0x380]
cmp eax, esi
je 0x478b67
push eax
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478b7b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x14]
push edx
push str.ButtonControl
call eax
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478bec
mov edi, eax
cmp dword [ebx + 0x14c], eax
je 0x478bcd
cmp eax, esi
je 0x478bb1
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x14c]
cmp ecx, esi
je 0x478bc7
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x14c], edi
mov ecx, dword [ebx + 0x14c]
cmp ecx, esi
je 0x478bec
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x478bec
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478bfc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonComputer
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478c6d
mov edi, eax
cmp dword [ebx + 0x150], eax
je 0x478c4e
cmp eax, esi
je 0x478c32
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x150]
cmp ecx, esi
je 0x478c48
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x150], edi
mov ecx, dword [ebx + 0x150]
cmp ecx, esi
je 0x478c6d
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x478c6d
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478c7d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonNet
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478cee
mov edi, eax
cmp dword [ebx + 0x154], eax
je 0x478ccf
cmp eax, esi
je 0x478cb3
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x154]
cmp ecx, esi
je 0x478cc9
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x154], edi
mov ecx, dword [ebx + 0x154]
cmp ecx, esi
je 0x478cee
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x478cee
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478cfe
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonExam
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478d6f
mov edi, eax
cmp dword [ebx + 0x158], eax
je 0x478d50
cmp eax, esi
je 0x478d34
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x158]
cmp ecx, esi
je 0x478d4a
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x158], edi
mov ecx, dword [ebx + 0x158]
cmp ecx, esi
je 0x478d6f
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x478d6f
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478d7f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonUninst
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478df0
mov edi, eax
cmp dword [ebx + 0x15c], eax
je 0x478dd1
cmp eax, esi
je 0x478db5
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x15c]
cmp ecx, esi
je 0x478dcb
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x15c], edi
mov ecx, dword [ebx + 0x15c]
cmp ecx, esi
je 0x478df0
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x478df0
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478e00
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonWallpaper
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478e71
mov edi, eax
cmp dword [ebx + 0x160], eax
je 0x478e52
cmp eax, esi
je 0x478e36
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x160]
cmp ecx, esi
je 0x478e4c
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x160], edi
mov ecx, dword [ebx + 0x160]
cmp ecx, esi
je 0x478e71
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x478e71
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478e81
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonShot
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x478ef2
mov edi, eax
cmp dword [ebx + 0x164], eax
je 0x478ed3
cmp eax, esi
je 0x478eb7
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x164]
cmp ecx, esi
je 0x478ecd
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x164], edi
mov ecx, dword [ebx + 0x164]
cmp ecx, esi
je 0x478ef2
lea edx, [ebx + 0x380]
cmp edx, esi
je 0x478ef2
push edx
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478f02
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.ButtonReturn
call edx
test eax, eax
jl 0x478f67
mov eax, dword [esp + 0x14]
mov edi, eax
cmp dword [ebx + 0x168], eax
je 0x478f4c
cmp eax, esi
je 0x478f34
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebx + 0x168]
cmp eax, esi
je 0x478f46
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x168], edi
mov ecx, dword [ebx + 0x168]
cmp ecx, esi
je 0x478f67
lea eax, [ebx + 0x380]
cmp eax, esi
je 0x478f67
push eax
push esi
call fcn.00545b30
call fcn.00516560
cmp dword [0x6230c0], 0x4000
jne 0x4790a6
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x478f90
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x14]
push edx
push str.ButtonClassic
call eax
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x479013
mov edi, eax
cmp dword [ebx + 0x16c], eax
je 0x478fe2
cmp eax, esi
je 0x478fc6
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x16c]
cmp ecx, esi
je 0x478fdc
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x16c], edi
mov ecx, dword [ebx + 0x16c]
cmp ecx, esi
je 0x479013
lea eax, [ebx + 0x380]
cmp eax, esi
je 0x478ffd
push eax
push esi
call fcn.00545b30
mov ecx, dword [ebx + 0x16c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xa8]
push 1
call eax
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x479023
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x14]
push edx
push str.ButtonIntelligent
call eax
test eax, eax
jl 0x4790a6
mov eax, dword [esp + 0x14]
mov edi, eax
cmp dword [ebx + 0x170], eax
je 0x479075
cmp eax, esi
je 0x479059
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x170]
cmp ecx, esi
je 0x47906f
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x170], edi
mov ecx, dword [ebx + 0x170]
cmp ecx, esi
je 0x4790aa
mov edx, dword [ecx]
mov eax, dword [edx + 0xa8]
push 1
call eax
mov ecx, dword [ebx + 0x170]
cmp ecx, esi
je 0x4790a6
lea eax, [ebx + 0x380]
cmp eax, esi
je 0x4790a6
push eax
push esi
call fcn.00545b30
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4790ba
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x14]
push edx
push str.ButtonShutDown
call eax
mov edx, dword [esp + 0x14]
test eax, eax
jl 0x479152
mov edi, edx
cmp dword [ebx + 0x18c], edx
je 0x47910c
cmp edx, esi
je 0x4790f0
mov ecx, dword [edx]
push edx
mov edx, dword [ecx + 4]
call edx
mov edx, dword [esp + 0x14]
mov eax, dword [ebx + 0x18c]
cmp eax, esi
je 0x479106
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x18c], edi
mov ecx, dword [ebx + 0x18c]
cmp ecx, esi
je 0x47912f
lea eax, [ebx + 0x380]
cmp eax, esi
je 0x47912f
push eax
push 0x12c
call fcn.00545b30
mov edx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x18c]
cmp ecx, esi
je 0x479152
lea eax, [ebx + 0x380]
cmp eax, esi
je 0x479152
push eax
push 0x12d
call fcn.00545b30
mov edx, dword [esp + 0x14]
cmp edx, esi
je 0x479162
mov eax, dword [edx]
mov ecx, dword [eax + 8]
push edx
call ecx
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.SearchFrame
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x4791b4
mov edi, eax
cmp dword [ebx + 0x1c8], eax
je 0x4791b4
cmp eax, esi
je 0x479198
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x1c8]
cmp ecx, esi
je 0x4791ae
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x1c8], edi
cmp eax, esi
je 0x4791c4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.SearchStackPanel
call edx
test eax, eax
jl 0x479a6f
mov eax, dword [esp + 0x14]
mov edi, eax
cmp dword [ebx + 0x1d4], eax
je 0x479212
cmp eax, esi
je 0x4791fa
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebx + 0x1d4]
cmp eax, esi
je 0x47920c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x1d4], edi
mov ecx, dword [ebx + 0x1d4]
cmp ecx, esi
je 0x479231
lea eax, [ebx + 0x380]
cmp eax, esi
je 0x479231
push eax
push 0x2724
call fcn.00545b30
push 0x70
call fcn.005851c0
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x78], 4
cmp eax, esi
je 0x479257
mov esi, eax
call fcn.00565a60
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x479263
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x18]
mov byte [esp + 0x78], 0
mov dword [esp + 0x28], esi
test esi, esi
je 0x479278
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov byte [esp + 0x78], 5
push 0x150
mov byte [esi + 0x54], 0
mov dword [esi + 0x58], 0xd8d8d8
call fcn.005851c0
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x78], 6
test eax, eax
je 0x4792ad
mov esi, eax
call fcn.00559ac0
mov esi, eax
jmp 0x4792af
xor esi, esi
mov byte [esp + 0x78], 5
cmp dword [ebx + 0x1bc], esi
je 0x4792e0
test esi, esi
je 0x4792c8
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov eax, dword [ebx + 0x1bc]
test eax, eax
je 0x4792da
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x1bc], esi
mov ecx, dword [ebx + 0x1bc]
mov eax, dword [ebx + 0x1d4]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x10]
call eax
xor esi, esi
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], 0xf
call int.0041e2e0
mov edi, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x1bc]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov edi, dword [esp + 0x50]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x54]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x58]
mov dword [eax + 0xc], edi
mov eax, dword [edx + 0x4c]
call eax
mov eax, dword [ebx + 0x1bc]
push 0x19c
mov dword [eax + 0xc8], 1
call fcn.005851c0
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x78], 7
cmp eax, esi
je 0x479378
push eax
call fcn.0054bfa0
mov esi, eax
mov dword [esp + 0x24], esi
jmp 0x47937c
mov dword [esp + 0x24], esi
mov byte [esp + 0x78], 5
mov dword [esp + 0x2c], esi
test esi, esi
je 0x479391
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov byte [esp + 0x78], 8
mov ebx, dword [ebx + 0x1bc]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
push ebx
mov ecx, esi
call edx
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push eax
mov ecx, str._g0Wo
mov dword [esi + 0xc8], 0
call fcn.00406c20
mov ebx, esi
call fcn.0054c660
xor ebx, ebx
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], 0x37
mov dword [esp + 0x48], 0xf
call int.0041e2e0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esi]
mov edx, dword [edx + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], 8
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
call int.0041e2e0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esi]
mov edx, dword [edx + 0x6c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
push 0x138
call fcn.005851c0
add esp, 4
mov dword [esp + 0x20], eax
mov byte [esp + 0x78], 9
cmp eax, ebx
je 0x479483
push eax
call fcn.00553bf0
mov esi, eax
mov dword [esp + 0x20], esi
jmp 0x47948f
mov dword [esp + 0x20], 0
mov esi, dword [esp + 0x20]
mov byte [esp + 0x78], 8
mov dword [esp + 0x30], esi
test esi, esi
je 0x4794a4
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov ebx, dword [ebp + 8]
mov byte [esp + 0x78], 0xa
mov eax, dword [ebx + 0x1bc]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x10]
mov ecx, esi
call eax
xor eax, eax
lea edi, [esp + 0x3c]
mov dword [esi + 0xc8], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0xc8
mov dword [esp + 0x48], 1
call int.0041e2e0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esi]
mov edx, dword [edx + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
xor ecx, ecx
mov eax, 7
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
call int.0041e2e0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esi]
mov edx, dword [edx + 0x6c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov edx, dword [eax + 0x8c]
push ecx
mov ecx, esi
call edx
push 0x1fc
call fcn.005851c0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x78], 0xb
test eax, eax
je 0x47958d
mov esi, eax
call fcn.0055d980
mov esi, eax
jmp 0x47958f
xor esi, esi
mov byte [esp + 0x78], 0xa
cmp dword [ebx + 0x198], esi
je 0x4795c0
test esi, esi
je 0x4795a8
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov eax, dword [ebx + 0x198]
test eax, eax
je 0x4795ba
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [ebx + 0x198], esi
mov ecx, dword [ebx + 0x198]
mov eax, dword [ebx + 0x1d4]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [ebx + 0x198]
test ecx, ecx
je 0x4795f3
lea eax, [ebx + 0x380]
test eax, eax
je 0x4795f3
push eax
push 0x44c
call fcn.00545b30
mov ecx, dword [ebx + 0x198]
test ecx, ecx
je 0x479612
lea eax, [ebx + 0x380]
test eax, eax
je 0x479612
push eax
push 0x44d
call fcn.00545b30
mov ecx, dword [ebx + 0x198]
test ecx, ecx
je 0x479631
lea eax, [ebx + 0x380]
test eax, eax
je 0x479631
push eax
push 0x44f
call fcn.00545b30
push 0x150
call fcn.005851c0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x78], 0xc
test eax, eax
je 0x479656
mov esi, eax
call fcn.00559ac0
mov esi, eax
jmp 0x479658
xor esi, esi
mov byte [esp + 0x78], 0xa
cmp dword [ebx + 0x1c0], esi
je 0x479689
test esi, esi
je 0x479671
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov eax, dword [ebx + 0x1c0]
test eax, eax
je 0x479683
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x1c0], esi
mov ecx, dword [ebx + 0x1c0]
mov eax, dword [ebx + 0x1d4]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x10]
call eax
xor esi, esi
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], 0xf
call int.0041e2e0
mov edi, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x1c0]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov edi, dword [esp + 0x50]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x54]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x58]
mov dword [eax + 0xc], edi
mov eax, dword [edx + 0x4c]
call eax
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], 0xa
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
call int.0041e2e0
mov edi, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x1c0]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov edi, dword [esp + 0x50]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x54]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x58]
mov dword [eax + 0xc], edi
mov eax, dword [edx + 0x6c]
call eax
mov eax, dword [ebx + 0x1c0]
push 0x19c
mov dword [eax + 0xc8], 1
call fcn.005851c0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x78], 0xd
cmp eax, esi
je 0x47976b
push eax
call fcn.0054bfa0
mov esi, eax
mov dword [esp + 0x1c], esi
jmp 0x47976f
mov dword [esp + 0x1c], esi
mov byte [esp + 0x78], 0xa
mov dword [esp + 0x34], esi
test esi, esi
je 0x479784
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov byte [esp + 0x78], 0xe
mov ebx, dword [ebx + 0x1c0]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
push ebx
mov ecx, esi
call edx
push ecx
mov eax, esp
mov dword [esp + 0x3c], esp
push eax
mov ecx, 0x5d3fbc
mov dword [esi + 0xc8], 0
call fcn.00406c20
mov ebx, esi
call fcn.0054c660
xor ebx, ebx
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], 0x37
mov dword [esp + 0x48], 0xf
call int.0041e2e0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esi]
mov edx, dword [edx + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], 8
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
call int.0041e2e0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esi]
mov edx, dword [edx + 0x6c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
push 0x138
call fcn.005851c0
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0x78], 0xf
cmp eax, ebx
je 0x479870
push eax
call fcn.00553bf0
mov ebx, eax
xor esi, esi
mov byte [esp + 0x78], 0xe
mov dword [esp + 0x38], ebx
cmp ebx, esi
je 0x479887
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov edx, dword [ebp + 8]
mov byte [esp + 0x78], 0x10
mov eax, dword [edx + 0x1c0]
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
lea edi, [esp + 0x3c]
mov dword [ebx + 0xc8], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], 0xc8
mov dword [esp + 0x48], 1
call int.0041e2e0
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebx]
mov edx, dword [edx + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], ecx
mov ecx, ebx
call edx
mov eax, 7
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], eax
call int.0041e2e0
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebx]
mov edx, dword [edx + 0x6c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edi, dword [esp + 0x18]
mov edx, dword [eax + 0x8c]
push edi
mov ecx, ebx
call edx
push 0x1fc
call fcn.005851c0
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x78], 0x11
cmp eax, esi
je 0x47996e
mov esi, eax
call fcn.0055d980
mov dword [esp + 0x18], eax
jmp 0x479972
mov dword [esp + 0x18], esi
mov esi, dword [ebp + 8]
mov byte [esp + 0x78], 0x10
mov eax, dword [esp + 0x18]
cmp dword [esi + 0x1a0], eax
je 0x4799ae
test eax, eax
je 0x479992
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esi + 0x1a0]
test eax, eax
je 0x4799a4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov dword [esi + 0x1a0], eax
mov ecx, dword [esi + 0x1a0]
mov eax, dword [esi + 0x1d4]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [esi + 0x1a0]
test ecx, ecx
je 0x4799e1
lea eax, [esi + 0x380]
test eax, eax
je 0x4799e1
push eax
push 0x44c
call fcn.00545b30
mov ecx, dword [esi + 0x1a0]
test ecx, ecx
je 0x479a00
lea eax, [esi + 0x380]
test eax, eax
je 0x479a00
push eax
push 0x44d
call fcn.00545b30
mov ecx, dword [esi + 0x1a0]
test ecx, ecx
je 0x479a1d
add esi, 0x380
je 0x479a1d
push esi
push 0x44f
call fcn.00545b30
mov byte [esp + 0x78], 0xe
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov byte [esp + 0x78], 0xa
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x78], 8
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x78], 5
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x78], 0
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov ebx, dword [ebp + 8]
xor esi, esi
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x479a83
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
push str.SearchEdit
call edx
test eax, eax
jl 0x479b99
mov eax, dword [esp + 0x14]
mov esi, eax
cmp dword [ebx + 0x1d0], eax
je 0x479ad1
test eax, eax
je 0x479ab9
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebx + 0x1d0]
test eax, eax
je 0x479acb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x1d0], esi
mov eax, dword [ebx + 0x1d0]
mov edx, 0x5d3fc8
call fcn.0047e0f0
mov eax, dword [ebx + 0x1d0]
mov esi, 0x26
call fcn.0047e140
mov eax, dword [ebx + 0x1d0]
mov esi, 0x28
call fcn.0047e140
mov ecx, dword [ebx + 0x1d0]
test ecx, ecx
je 0x479b1d
lea eax, [ebx + 0x380]
test eax, eax
je 0x479b1d
push eax
push 0
call fcn.00545b30
mov ecx, dword [ebx + 0x1d0]
test ecx, ecx
je 0x479b3c
lea eax, [ebx + 0x380]
test eax, eax
je 0x479b3c
push eax
push 0x139d
call fcn.00545b30
mov ecx, dword [ebx + 0x1d0]
test ecx, ecx
je 0x479b5b
lea eax, [ebx + 0x380]
test eax, eax
je 0x479b5b
push eax
push 0x139e
call fcn.00545b30
mov ecx, dword [ebx + 0x1d0]
test ecx, ecx
je 0x479b7a
lea eax, [ebx + 0x380]
test eax, eax
je 0x479b7a
push eax
push 0x1f7
call fcn.00545b30
mov ecx, dword [ebx + 0x1d0]
test ecx, ecx
je 0x479b99
lea eax, [ebx + 0x380]
test eax, eax
je 0x479b99
push eax
push 0x1f5
call fcn.00545b30
mov eax, dword [esp + 0x14]
xor edi, edi
cmp eax, edi
je 0x479baf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], edi
mov ecx, dword [ebx + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0x14]
push edx
push str.ScrollFrame
call eax
test eax, eax
jl 0x47a097
mov eax, dword [esp + 0x14]
mov esi, eax
cmp dword [ebx + 0x1c4], eax
je 0x479bfd
cmp eax, edi
je 0x479be5
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebx + 0x1c4]
cmp eax, edi
je 0x479bf7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x1c4], esi
push 0xc8
call fcn.005851c0
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0x78], 0x12
cmp eax, edi
je 0x479c26
mov esi, eax
call fcn.005489c0
mov esi, eax
mov dword [esp + 0x1c], esi
jmp 0x479c2c
mov dword [esp + 0x1c], edi
mov esi, edi
mov byte [esp + 0x78], 0
mov dword [esp + 0x38], esi
cmp esi, edi
je 0x479c41
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov ecx, str.UnitedBkgedit.png
mov byte [esp + 0x78], 0x13
call fcn.00548ef0
mov ecx, 5
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov edx, ecx
lea edi, [ecx + 0xa]
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov ecx, edi
mov dword [eax + 0xc], ecx
mov eax, esi
mov dword [esi + 0x7c], 2
call fcn.005491c0
push 0x174
call fcn.005851c0
add esp, 4
mov dword [esp + 0x34], eax
mov byte [esp + 0x78], 0x14
test eax, eax
je 0x479ca2
push 1
push eax
call fcn.0055af60
mov dword [esp + 0x18], eax
jmp 0x479cae
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
mov byte [esp + 0x78], 0x13
mov dword [esp + 0x34], eax
test eax, eax
je 0x479cc3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x78], 0x15
mov eax, 3
mov esi, 1
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], eax
call int.0041e2e0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
lea edx, [esp + 0x6c]
push edx
call dword [sym.imp.USER32.dll_SetRect]
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov edi, dword [esp + 0x70]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x74]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x78]
mov dword [eax + 0xc], edi
mov eax, dword [edx + 0x100]
call eax
mov ecx, dword [0x622074]
mov eax, dword [ecx + 8]
test eax, eax
jne 0x479d4a
lea eax, [esi + 0x1d]
jmp 0x479d61
push 0x64
cmp eax, esi
jne 0x479d56
mov ecx, dword [ecx + 4]
push ecx
jmp 0x479d59
mov edx, dword [ecx]
push edx
push 0x1e
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, dword [esp + 0x18]
mov edi, eax
call fcn.0055bcf0
mov edx, dword [esp + 0x1c]
mov ecx, esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x8c]
push edx
call eax
xor esi, esi
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], 0x19
call int.0041e2e0
lea edi, [esp + 0x4c]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], 0x14
call int.0041e2e0
call fcn.00516560
cmp dword [0x6230c0], 0x400
lea edx, [esp + 0x3c]
jge 0x479dd0
mov edx, edi
mov edi, dword [edx]
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov edi, dword [edx + 4]
mov dword [eax + 4], edi
mov edi, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x4c]
call eax
push 0x1fc
call fcn.005851c0
add esp, 4
mov dword [esp + 0x30], eax
mov byte [esp + 0x78], 0x16
test eax, eax
je 0x479e1b
mov esi, eax
call fcn.0055d980
mov esi, eax
jmp 0x479e1d
xor esi, esi
mov byte [esp + 0x78], 0x15
cmp dword [ebx + 0x190], esi
je 0x479e4e
test esi, esi
je 0x479e36
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov eax, dword [ebx + 0x190]
test eax, eax
je 0x479e48
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x190], esi
mov ecx, dword [ebx + 0x190]
test ecx, ecx
je 0x479e6d
lea eax, [ebx + 0x380]
test eax, eax
je 0x479e6d
push eax
push 0x44c
call fcn.00545b30
mov ecx, dword [ebx + 0x190]
test ecx, ecx
je 0x479e8c
lea eax, [ebx + 0x380]
test eax, eax
je 0x479e8c
push eax
push 0x44d
call fcn.00545b30
mov ecx, dword [ebx + 0x190]
test ecx, ecx
je 0x479eab
lea eax, [ebx + 0x380]
test eax, eax
je 0x479eab
push eax
push 0x44f
call fcn.00545b30
push 0x1fc
call fcn.005851c0
add esp, 4
mov dword [esp + 0x30], eax
mov byte [esp + 0x78], 0x17
test eax, eax
je 0x479ed0
mov esi, eax
call fcn.0055d980
mov esi, eax
jmp 0x479ed2
xor esi, esi
mov byte [esp + 0x78], 0x15
cmp dword [ebx + 0x19c], esi
je 0x479f03
test esi, esi
je 0x479eeb
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov eax, dword [ebx + 0x19c]
test eax, eax
je 0x479efd
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [ebx + 0x19c], esi
mov ecx, dword [ebx + 0x19c]
test ecx, ecx
je 0x479f22
lea eax, [ebx + 0x380]
test eax, eax
je 0x479f22
push eax
push 0x44c
call fcn.00545b30
mov ecx, dword [ebx + 0x19c]
test ecx, ecx
je 0x479f41
lea eax, [ebx + 0x380]
test eax, eax
je 0x479f41
push eax
push 0x44f
call fcn.00545b30
push 0x1fc
call fcn.005851c0
add esp, 4
mov dword [esp + 0x30], eax
mov byte [esp + 0x78], 0x18
test eax, eax
je 0x479f66
mov esi, eax
call fcn.0055d980
mov esi, eax
jmp 0x479f68
xor esi, esi
mov byte [esp + 0x78], 0x15
cmp dword [ebx + 0x194], esi
je 0x479f99
test esi, esi
je 0x479f81
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov eax, dword [ebx + 0x194]
test eax, eax
je 0x479f93
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x194], esi
mov eax, dword [ebx + 0x194]
mov edi, dword [esp + 0x18]
call fcn.0055e3b0
mov ecx, dword [ebx + 0x194]
test ecx, ecx
je 0x479fc7
lea eax, [ebx + 0x380]
test eax, eax
je 0x479fc7
push eax
push 0x44c
call fcn.00545b30
mov ecx, dword [ebx + 0x194]
test ecx, ecx
je 0x479fe6
lea eax, [ebx + 0x380]
test eax, eax
je 0x479fe6
push eax
push 0x44d
call fcn.00545b30
mov ecx, dword [ebx + 0x194]
test ecx, ecx
je 0x47a005
lea eax, [ebx + 0x380]
test eax, eax
je 0x47a005
push eax
push 0x44e
call fcn.00545b30
mov ecx, dword [ebx + 0x194]
test ecx, ecx
je 0x47a024
lea eax, [ebx + 0x380]
test eax, eax
je 0x47a024
push eax
push 0x514
call fcn.00545b30
mov ecx, dword [ebx + 0x194]
test ecx, ecx
je 0x47a043
lea eax, [ebx + 0x380]
test eax, eax
je 0x47a043
push eax
push 0x515
call fcn.00545b30
mov ecx, dword [ebx + 0x194]
test ecx, ecx
je 0x47a062
lea eax, [ebx + 0x380]
test eax, eax
je 0x47a062
push eax
push 0x44f
call fcn.00545b30
mov eax, dword [ebx + 0x194]
mov esi, dword [ebx + 0x1c4]
mov ebx, eax
call fcn.0056b5a0
mov byte [esp + 0x78], 0x13
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x78], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x78], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47a0af
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4