Function at 0x40e3e0
Capabilities:
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x451ea7
mov eax, dword fs:[0]
push eax
sub esp, 0x1e4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46c8b0]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x200], 0
call fcn.0040e380
mov ebx, dword [esp + 0x208]
cmp dword [ebx - 0xc], 0
jg 0x40e46e
push 0x10
push str.TopThemes_XP
push str.Invalid_theme_path___
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
add ebx, 0xfffffff0
mov dword [esp + 0x200], 0xffffffff
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40e467
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
xor eax, eax
jmp 0x41206e
push ecx
add ebx, 0xfffffff0
mov dword [esp + 0x48], esp
mov edi, esp
push ebx
mov dword [esp + 0x48], ebx
call fcn.004011e0
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [edi], eax
call fcn.00409fd0
lea ecx, [esp + 0x2c]
call fcn.004189a0
mov byte [esp + 0x200], 1
call fcn.00417b8f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40e4bc
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0x200], 2
call fcn.00417b8f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40e4ee
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x200], 3
call fcn.00417b8f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40e520
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebp, [eax + 0x10]
mov dword [esp + 0x1c], ebp
mov eax, dword [esi + 0x64]
push 0
lea edi, [esi + 0x64]
push 0
mov ebx, 4
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x20c], bl
mov dword [esp + 0x34], 0xffffffff
mov dword [esi + 0xc], 0
call fcn.004189b6
test eax, eax
jne 0x40e61c
add ebp, 0xfffffff0
mov byte [esp + 0x200], 3
lea ecx, [ebp + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e58c
mov ecx, dword [ebp]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebp
call edx
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x200], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e5b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x200], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e5dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x200], 0
call fcn.00418dca
mov eax, dword [esp + 0x40]
mov dword [esp + 0x200], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e615
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x41206e
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
test eax, eax
je 0x411fb3
mov edx, dword [esp + 0x14]
push 0x4574ec
push edx
call fcn.00435c4e
add esp, 8
test eax, eax
je 0x40e652
sub eax, dword [esp + 0x14]
je 0x411f99
lea ecx, [esp + 0x14]
call fcn.00403ed0
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x40e68d
push str.clsid_
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40e68d
sub eax, ecx
cmp eax, 0xffffffff
je 0x40e68d
xor ebp, ebp
mov dword [esp + 0x28], ebp
jmp 0x40e7f7
push str._Additional_Icons_
push ecx
call fcn.00434b0e
add esp, 8
test eax, eax
jne 0x40e6ad
mov ebp, 7
mov dword [esp + 0x28], ebp
jmp 0x40e7f3
mov eax, dword [esp + 0x14]
push str._control_panelcursors_
push eax
call fcn.00434b0e
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x40e6d5
mov ebp, 1
mov dword [esp + 0x28], ebp
jmp 0x40e7f7
push str._control_paneldesktop_
push ecx
call fcn.00434b0e
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x40e6f9
mov ebp, 2
mov dword [esp + 0x28], ebp
jmp 0x40e7f7
cmp dword [ecx - 0xc], 0
jl 0x40e72a
push str._appevents_schemes_apps_
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40e72a
sub eax, ecx
cmp eax, 0xffffffff
je 0x40e72a
mov ebp, 3
mov dword [esp + 0x28], ebp
jmp 0x40e7f7
push str._control_panelcolors_
push ecx
call fcn.00434b0e
add esp, 8
test eax, eax
jne 0x40e747
mov ebp, ebx
mov dword [esp + 0x28], ebp
jmp 0x40e7f3
mov edx, dword [esp + 0x14]
push str._metrics_
push edx
call fcn.00434b0e
add esp, 8
test eax, eax
jne 0x40e76b
mov ebp, 5
mov dword [esp + 0x28], ebp
jmp 0x40e7f3
mov eax, dword [esp + 0x14]
push str._boot_
push eax
call fcn.00434b0e
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x40e790
mov ebp, 6
mov dword [esp + 0x28], ebp
jmp 0x40e7f7
push str._LOGOS_
push ecx
call fcn.00434b0e
add esp, 8
test eax, eax
jne 0x40e7ad
mov ebp, 8
mov dword [esp + 0x28], ebp
jmp 0x40e7f3
mov edx, dword [esp + 0x14]
push str._LOGONUI_
push edx
call fcn.00434b0e
add esp, 8
test eax, eax
jne 0x40e7ce
mov ebp, 9
mov dword [esp + 0x28], ebp
jmp 0x40e7f3
mov eax, dword [esp + 0x14]
push str._VisualStyles_
push eax
call fcn.00434b0e
add esp, 8
test eax, eax
jne 0x40e7ef
mov ebp, 0xa
mov dword [esp + 0x28], ebp
jmp 0x40e7f3
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.20d04fe0_3aea_1069_a2d8_08002b30309d
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40e96d
sub eax, ecx
cmp eax, 0xffffffff
je 0x40e96d
test ebp, ebp
jne 0x40e96d
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
mov edx, dword [esp + 0x14]
push 0x3d
push edx
call fcn.00434d33
add esp, 8
test eax, eax
jne 0x40e854
or eax, 0xffffffff
jmp 0x40e858
sub eax, dword [esp + 0x14]
add eax, 1
push eax
lea eax, [esp + 0x114]
push eax
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 5
call fcn.00402160
mov eax, dword [esp + 0x110]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e8a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
push str.Icons
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov ebp, esp
push eax
call fcn.004011e0
add eax, 0x10
mov dword [ebp], eax
mov eax, dword [edi]
sub eax, 0x10
mov dword [esp + 0x2c], esp
mov ebp, esp
push eax
mov byte [esp + 0x210], 6
call fcn.004011e0
add esp, 4
lea ecx, [esp + 0x1e8]
add eax, 0x10
push ecx
mov dword [ebp], eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 7
call fcn.00402160
mov eax, dword [esp + 0x1dc]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40e93c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00434540
add esp, 8
test eax, eax
setne al
test al, al
je 0x411f99
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x10]
push edx
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.208d2c60_3aea_1069_a2d7_08002b30309d
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40eae3
sub eax, ecx
cmp eax, 0xffffffff
je 0x40eae3
test ebp, ebp
jne 0x40eae3
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x30]
call fcn.00418efd
mov ecx, dword [esp + 0x14]
push 0x3d
push ecx
call fcn.00434d33
add esp, 8
test eax, eax
jne 0x40e9ca
or eax, 0xffffffff
jmp 0x40e9ce
sub eax, dword [esp + 0x14]
add eax, 1
push eax
lea edx, [esp + 0x1e8]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 8
call fcn.00402160
mov eax, dword [esp + 0x1e4]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ea1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
push str.Icons
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov ebp, esp
push eax
call fcn.004011e0
add eax, 0x10
mov dword [ebp], eax
mov eax, dword [edi]
sub eax, 0x10
mov dword [esp + 0x30], esp
mov ebp, esp
push eax
mov byte [esp + 0x210], 9
call fcn.004011e0
add esp, 4
lea ecx, [esp + 0x1f8]
add eax, 0x10
push ecx
mov dword [ebp], eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0xa
call fcn.00402160
mov eax, dword [esp + 0x1ec]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40eab2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00434540
add esp, 8
test eax, eax
setne al
test al, al
je 0x411f99
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x14]
push edx
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.645ff040_5081_101b_9f08_00aa002f954e
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40efc8
sub eax, ecx
cmp eax, 0xffffffff
je 0x40efc8
test ebp, ebp
jne 0x40efc8
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x30]
call fcn.00418efd
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], ebp
jl 0x40ed67
push str.full
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40ec72
sub eax, ecx
cmp eax, 0xffffffff
je 0x40ec72
push 0x3d
push ecx
call fcn.00434d33
add esp, 8
test eax, eax
jne 0x40eb6e
or eax, 0xffffffff
jmp 0x40eb72
sub eax, dword [esp + 0x14]
add eax, 1
push eax
lea ecx, [esp + 0x1f8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0xb
call fcn.00402160
mov eax, dword [esp + 0x1f4]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40ebc3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
push str.Icons
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov ebp, esp
push eax
call fcn.004011e0
add eax, 0x10
mov dword [ebp], eax
mov eax, dword [edi]
sub eax, 0x10
mov dword [esp + 0x30], esp
mov ebp, esp
push eax
mov byte [esp + 0x210], 0xc
call fcn.004011e0
add esp, 4
lea ecx, [esp + 0x5c]
add eax, 0x10
push ecx
mov dword [ebp], eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0xd
call fcn.00402160
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40ec50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00409220
add esp, 8
test al, al
je 0x40ed67
lea ecx, [esi + 0x1c]
jmp 0x40ed5d
cmp dword [ecx - 0xc], 0
jl 0x40ed67
push str.empty
push ecx
call fcn.00434c60
add esp, 8
test eax, eax
je 0x40ed67
sub eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x40ed67
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0xe
call fcn.00402160
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Icons
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0xf
call fcn.00401280
lea eax, [esp + 0x64]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x10
call fcn.00402160
lea ecx, [esp + 0x58]
mov byte [esp + 0x200], bl
call fcn.00401170
lea ecx, [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00409220
add esp, 8
test al, al
je 0x40ed67
lea ecx, [esi + 0x18]
lea edx, [esp + 0x1c]
push edx
call fcn.00402160
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x30]
call fcn.00418efd
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x411f99
push str.full
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40eeca
sub eax, ecx
cmp eax, 0xffffffff
je 0x40eeca
push 0x3d
push ecx
call fcn.00434d33
add esp, 8
test eax, eax
jne 0x40edbc
or eax, 0xffffffff
jmp 0x40edc0
sub eax, dword [esp + 0x14]
add eax, 1
push eax
lea ecx, [esp + 0x12c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x11
call fcn.00402160
mov eax, dword [esp + 0x128]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40ee11
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
push str.Icons
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov ebp, esp
push eax
call fcn.004011e0
add eax, 0x10
mov dword [ebp], eax
mov eax, dword [edi]
sub eax, 0x10
mov dword [esp + 0x30], esp
mov ebp, esp
push eax
mov byte [esp + 0x210], 0x12
call fcn.004011e0
add esp, 4
lea ecx, [esp + 0x6c]
add eax, 0x10
push ecx
mov dword [ebp], eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x13
call fcn.00402160
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40ee9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x1c]
push edx
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411f99
push str.empty
push ecx
call fcn.00434c60
add esp, 8
test eax, eax
je 0x411f99
sub eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x411f99
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea eax, [esp + 0x194]
push eax
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x14
call fcn.00402160
lea ecx, [esp + 0x190]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Icons
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x15
call fcn.00401280
lea eax, [esp + 0x74]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x16
call fcn.00402160
lea ecx, [esp + 0x68]
mov byte [esp + 0x200], bl
call fcn.00401170
lea ecx, [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x18]
push edx
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.450d8fba_ad25_11d0_98a8_0800361b1103
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f138
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f138
test ebp, ebp
jne 0x40f138
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x30]
call fcn.00418efd
mov ecx, dword [esp + 0x14]
push 0x3d
push ecx
call fcn.00434d33
add esp, 8
test eax, eax
jne 0x40f025
or eax, 0xffffffff
jmp 0x40f029
sub eax, dword [esp + 0x14]
add eax, 1
push eax
lea edx, [esp + 0x134]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x17
call fcn.00402160
mov eax, dword [esp + 0x130]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f07a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
push str.Icons
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov ebp, esp
push eax
call fcn.004011e0
add eax, 0x10
mov dword [ebp], eax
mov eax, dword [edi]
sub eax, 0x10
mov dword [esp + 0x30], esp
mov ebp, esp
push eax
mov byte [esp + 0x210], 0x18
call fcn.004011e0
add esp, 4
lea ecx, [esp + 0x7c]
add eax, 0x10
push ecx
mov dword [ebp], eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x19
call fcn.00402160
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40f107
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00434540
add esp, 8
test eax, eax
setne al
test al, al
je 0x411f99
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x20]
push edx
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.disk
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f29a
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f29a
cmp ebp, 7
jne 0x40f29a
push 0x3d
push ecx
call fcn.00434d33
add esp, 8
test eax, eax
jne 0x40f184
or eax, 0xffffffff
jmp 0x40f188
sub eax, dword [esp + 0x14]
add eax, 1
push eax
lea eax, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x1a
call fcn.00402160
mov eax, dword [esp + 0x1e8]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f1d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
push str.Icons
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov ebp, esp
push eax
call fcn.004011e0
add eax, 0x10
mov dword [ebp], eax
mov eax, dword [edi]
sub eax, 0x10
mov dword [esp + 0x30], esp
mov ebp, esp
push eax
mov byte [esp + 0x210], 0x1b
call fcn.004011e0
add esp, 4
lea ecx, [esp + 0x84]
add eax, 0x10
push ecx
mov dword [ebp], eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x1c
call fcn.00402160
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
mov byte [esp + 0x200], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40f269
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00434540
add esp, 8
test eax, eax
setne al
test al, al
je 0x411f99
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x24]
push edx
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.closed
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f3b1
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f3b1
cmp ebp, 7
jne 0x40f3b1
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x1d
call fcn.00402160
lea ecx, [esp + 0x138]
mov byte [esp + 0x200], bl
call fcn.00401170
mov eax, dword [esp + 0x18]
push str.Icons
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov ebp, esp
push eax
call fcn.004011e0
add eax, 0x10
mov dword [ebp], eax
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x1e
call fcn.00401280
lea ecx, [esp + 0x8c]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x1f
call fcn.00402160
lea ecx, [esp + 0x80]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0x2c]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.open
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f4c0
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f4c0
cmp ebp, 7
jne 0x40f4c0
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x20
call fcn.00402160
lea ecx, [esp + 0x198]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Icons
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x21
call fcn.00401280
lea eax, [esp + 0x94]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x22
call fcn.00402160
lea ecx, [esp + 0x88]
mov byte [esp + 0x200], bl
call fcn.00401170
lea ecx, [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x30]
push edx
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push 0x457378
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f5cf
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f5cf
cmp ebp, 7
jne 0x40f5cf
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea eax, [esp + 0x144]
push eax
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x23
call fcn.00402160
lea ecx, [esp + 0x140]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Icons
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x24
call fcn.00401280
lea eax, [esp + 0x9c]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x25
call fcn.00402160
lea ecx, [esp + 0x90]
mov byte [esp + 0x200], bl
call fcn.00401170
lea ecx, [esp + 0x1c]
push 0x455b91
push ecx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x28]
push edx
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.tilewallpaper
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f665
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f665
cmp ebp, 2
jne 0x40f665
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x26
call fcn.00402160
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x200], bl
call fcn.00401170
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
jl 0x41208a
movsx ecx, byte [eax]
sub ecx, 0x30
cmp ecx, 1
jne 0x411f99
mov dword [esi + 0xc], ecx
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.wallpaperstyle
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f6f8
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f6f8
cmp ebp, 2
jne 0x40f6f8
cmp dword [esi + 0xc], 1
je 0x40f6f8
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x9c]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x27
call fcn.00402160
lea ecx, [esp + 0x98]
mov byte [esp + 0x200], bl
call fcn.00401170
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
jl 0x41208a
movsx eax, byte [eax]
sub eax, 0x30
mov dword [esi + 0xc], eax
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.wallpaper
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f7df
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f7df
cmp ebp, 2
jne 0x40f7df
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea ecx, [esp + 0x14c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x28
call fcn.00402160
lea ecx, [esp + 0x148]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Wallpaper
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x29
call fcn.00401280
lea eax, [esp + 0xac]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 8]
mov byte [esp + 0x204], 0x2a
call fcn.00402500
lea ecx, [esp + 0xa0]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.uparrow
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f8c8
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f8c8
cmp ebp, 1
jne 0x40f8c8
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x1a4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x2b
call fcn.00402160
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x2c
call fcn.00401280
lea eax, [esp + 0xb4]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x9c]
mov byte [esp + 0x204], 0x2d
call fcn.00402500
lea ecx, [esp + 0xa8]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.help
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40f9ae
sub eax, ecx
cmp eax, 0xffffffff
je 0x40f9ae
cmp ebp, 1
jne 0x40f9ae
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x154]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x2e
call fcn.00402160
lea ecx, [esp + 0x150]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x2f
call fcn.00401280
lea eax, [esp + 0xbc]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x6c]
mov byte [esp + 0x204], 0x30
call fcn.00402500
lea ecx, [esp + 0xb0]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.appstarting
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40fa94
sub eax, ecx
cmp eax, 0xffffffff
je 0x40fa94
cmp ebp, 1
jne 0x40fa94
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x1e4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x31
call fcn.00402160
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x32
call fcn.00401280
lea eax, [esp + 0xc4]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x70]
mov byte [esp + 0x204], 0x33
call fcn.00402500
lea ecx, [esp + 0xb8]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.wait
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40fb7a
sub eax, ecx
cmp eax, 0xffffffff
je 0x40fb7a
cmp ebp, 1
jne 0x40fb7a
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x15c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x34
call fcn.00402160
lea ecx, [esp + 0x158]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x35
call fcn.00401280
lea eax, [esp + 0xcc]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x74]
mov byte [esp + 0x204], 0x36
call fcn.00402500
lea ecx, [esp + 0xc0]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.crosshair
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40fc60
sub eax, ecx
cmp eax, 0xffffffff
je 0x40fc60
cmp ebp, 1
jne 0x40fc60
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x1ac]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x37
call fcn.00402160
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x38
call fcn.00401280
lea eax, [esp + 0xd4]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x78]
mov byte [esp + 0x204], 0x39
call fcn.00402500
lea ecx, [esp + 0xc8]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.ibeam
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40fd46
sub eax, ecx
cmp eax, 0xffffffff
je 0x40fd46
cmp ebp, 1
jne 0x40fd46
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x3a
call fcn.00402160
lea ecx, [esp + 0x160]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x3b
call fcn.00401280
lea eax, [esp + 0xdc]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x7c]
mov byte [esp + 0x204], 0x3c
call fcn.00402500
lea ecx, [esp + 0xd0]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.nwpen
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40fe2f
sub eax, ecx
cmp eax, 0xffffffff
je 0x40fe2f
cmp ebp, 1
jne 0x40fe2f
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x1d4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x3d
call fcn.00402160
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x3e
call fcn.00401280
lea eax, [esp + 0xe4]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x80]
mov byte [esp + 0x204], 0x3f
call fcn.00402500
lea ecx, [esp + 0xd8]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push 0x4572f8
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40ff18
sub eax, ecx
cmp eax, 0xffffffff
je 0x40ff18
cmp ebp, 1
jne 0x40ff18
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x16c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x40
call fcn.00402160
lea ecx, [esp + 0x168]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x41
call fcn.00401280
lea eax, [esp + 0xec]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x84]
mov byte [esp + 0x204], 0x42
call fcn.00402500
lea ecx, [esp + 0xe0]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.sizens
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x410001
sub eax, ecx
cmp eax, 0xffffffff
je 0x410001
cmp ebp, 1
jne 0x410001
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x1b4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x43
call fcn.00402160
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x44
call fcn.00401280
lea eax, [esp + 0xf4]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x88]
mov byte [esp + 0x204], 0x45
call fcn.00402500
lea ecx, [esp + 0xe8]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.sizewe
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x4100ea
sub eax, ecx
cmp eax, 0xffffffff
je 0x4100ea
cmp ebp, 1
jne 0x4100ea
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x174]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x46
call fcn.00402160
lea ecx, [esp + 0x170]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x47
call fcn.00401280
lea eax, [esp + 0xfc]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x8c]
mov byte [esp + 0x204], 0x48
call fcn.00402500
lea ecx, [esp + 0xf0]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.sizenwse
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x4101d3
sub eax, ecx
cmp eax, 0xffffffff
je 0x4101d3
cmp ebp, 1
jne 0x4101d3
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x1f4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x49
call fcn.00402160
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x4a
call fcn.00401280
lea eax, [esp + 0x104]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x90]
mov byte [esp + 0x204], 0x4b
call fcn.00402500
lea ecx, [esp + 0xf8]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.sizenesw
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x4102bc
sub eax, ecx
cmp eax, 0xffffffff
je 0x4102bc
cmp ebp, 1
jne 0x4102bc
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x17c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x4c
call fcn.00402160
lea ecx, [esp + 0x178]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x4d
call fcn.00401280
lea eax, [esp + 0x10c]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x94]
mov byte [esp + 0x204], 0x4e
call fcn.00402500
lea ecx, [esp + 0x100]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.sizeall
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x4103a5
sub eax, ecx
cmp eax, 0xffffffff
je 0x4103a5
cmp ebp, 1
jne 0x4103a5
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x1bc]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x4f
call fcn.00402160
lea ecx, [esp + 0x1b8]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x50
call fcn.00401280
lea eax, [esp + 0x114]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x98]
mov byte [esp + 0x204], 0x51
call fcn.00402500
lea ecx, [esp + 0x108]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.arrow
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x410485
sub eax, ecx
cmp eax, 0xffffffff
je 0x410485
cmp ebp, 1
jne 0x410485
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x184]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x52
call fcn.00402160
lea ecx, [esp + 0x180]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x53
call fcn.00401280
lea eax, [esp + 0x54]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x68]
mov byte [esp + 0x204], 0x54
call fcn.00402500
lea ecx, [esp + 0x48]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.hand
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x41056e
sub eax, ecx
cmp eax, 0xffffffff
je 0x41056e
cmp ebp, 1
jne 0x41056e
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, ebp
push eax
lea ecx, [esp + 0x1dc]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x55
call fcn.00402160
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Cursors
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x56
call fcn.00401280
lea eax, [esp + 0x124]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0xa0]
mov byte [esp + 0x204], 0x57
call fcn.00402500
lea ecx, [esp + 0x118]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.systemasterisk
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x41068e
sub eax, ecx
cmp eax, 0xffffffff
je 0x41068e
cmp ebp, 3
jne 0x41068e
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x18c]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x58
call fcn.00402160
lea ecx, [esp + 0x188]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x59
call fcn.00401280
lea ecx, [esp + 0x12c]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x5a
call fcn.00402160
lea ecx, [esp + 0x120]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xa4]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.close
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x4107a2
sub eax, ecx
cmp eax, 0xffffffff
je 0x4107a2
cmp ebp, 3
jne 0x4107a2
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x5b
call fcn.00402160
lea ecx, [esp + 0x4c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x5c
call fcn.00401280
lea ecx, [esp + 0x60]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x5d
call fcn.00402160
lea ecx, [esp + 0x54]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xa8]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.systemhand
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x4108b6
sub eax, ecx
cmp eax, 0xffffffff
je 0x4108b6
cmp ebp, 3
jne 0x4108b6
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x5e
call fcn.00402160
lea ecx, [esp + 0x5c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x5f
call fcn.00401280
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x60
call fcn.00402160
lea ecx, [esp + 0x64]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xac]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str..default.default
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x4109cd
sub eax, ecx
cmp eax, 0xffffffff
je 0x4109cd
cmp ebp, 3
jne 0x4109cd
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x70]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x61
call fcn.00402160
lea ecx, [esp + 0x6c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x62
call fcn.00401280
lea ecx, [esp + 0x80]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x63
call fcn.00402160
lea ecx, [esp + 0x74]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xb0]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.systemexclamation
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x410aea
sub eax, ecx
cmp eax, 0xffffffff
je 0x410aea
cmp ebp, 3
jne 0x410aea
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x80]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x64
call fcn.00402160
lea ecx, [esp + 0x7c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x65
call fcn.00401280
lea ecx, [esp + 0x90]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x66
call fcn.00402160
lea ecx, [esp + 0x84]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xb4]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.systemexit
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x410c0a
sub eax, ecx
cmp eax, 0xffffffff
je 0x410c0a
cmp ebp, 3
jne 0x410c0a
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x90]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x67
call fcn.00402160
lea ecx, [esp + 0x8c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x68
call fcn.00401280
lea ecx, [esp + 0xa0]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x69
call fcn.00402160
lea ecx, [esp + 0x94]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xb8]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.maximize
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x410d2a
sub eax, ecx
cmp eax, 0xffffffff
je 0x410d2a
cmp ebp, 3
jne 0x410d2a
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0xa0]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x6a
call fcn.00402160
lea ecx, [esp + 0x9c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x6b
call fcn.00401280
lea ecx, [esp + 0xb0]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x6c
call fcn.00402160
lea ecx, [esp + 0xa4]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xbc]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.menucommand
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x410e4a
sub eax, ecx
cmp eax, 0xffffffff
je 0x410e4a
cmp ebp, 3
jne 0x410e4a
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x6d
call fcn.00402160
lea ecx, [esp + 0xac]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x6e
call fcn.00401280
lea ecx, [esp + 0xc0]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x6f
call fcn.00402160
lea ecx, [esp + 0xb4]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xc0]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.menupopup
push ecx
call fcn.00434c60
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x410f6a
sub eax, ecx
cmp eax, 0xffffffff
je 0x410f6a
cmp ebp, 3
jne 0x410f6a
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0xc0]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x70
call fcn.00402160
lea ecx, [esp + 0xbc]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x71
call fcn.00401280
lea ecx, [esp + 0xd0]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x72
call fcn.00402160
lea ecx, [esp + 0xc4]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xc4]
push eax
call fcn.00402160
jmp 0x411f99
cmp dword [ecx - 0xc], 0
jl 0x411088
push str.minimize
push ecx
call fcn.00434c60
add esp, 8
test eax, eax
je 0x411088
sub eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x411088
cmp ebp, 3
jne 0x411088
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0xd0]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x73
call fcn.00402500
lea ecx, [esp + 0xcc]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x74
call fcn.00401280
lea ecx, [esp + 0xe0]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x75
call fcn.00402500
lea ecx, [esp + 0xd4]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xc8]
call fcn.00402500
jmp 0x411f99
push 0
push str.mailbeep
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x411192
cmp ebp, 3
jne 0x411192
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0xe0]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x76
call fcn.00402500
lea ecx, [esp + 0xdc]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x77
call fcn.00401280
lea ecx, [esp + 0xf0]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x78
call fcn.00402500
lea ecx, [esp + 0xe4]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xcc]
call fcn.00402500
jmp 0x411f99
push 0
push 0x455c38
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x41129c
cmp ebp, 3
jne 0x41129c
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0xf0]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x79
call fcn.00402500
lea ecx, [esp + 0xec]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x7a
call fcn.00401280
lea ecx, [esp + 0x100]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x7b
call fcn.00402500
lea ecx, [esp + 0xf4]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xd0]
call fcn.00402500
jmp 0x411f99
push 0
push str.appgpfault
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x4113a6
cmp ebp, 3
jne 0x4113a6
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x100]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x7c
call fcn.00402500
lea ecx, [esp + 0xfc]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x7d
call fcn.00401280
lea ecx, [esp + 0x110]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x7e
call fcn.00402500
lea ecx, [esp + 0x104]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xd4]
call fcn.00402500
jmp 0x411f99
push 0
push str.systemquestion
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x4114b0
cmp ebp, 3
jne 0x4114b0
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x110]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x7f
call fcn.00402500
lea ecx, [esp + 0x10c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x80
call fcn.00401280
lea ecx, [esp + 0x120]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x81
call fcn.00402500
lea ecx, [esp + 0x114]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xd8]
call fcn.00402500
jmp 0x411f99
push 0
push str.restoredown
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x4115ba
cmp ebp, 3
jne 0x4115ba
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x120]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x82
call fcn.00402500
lea ecx, [esp + 0x11c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x83
call fcn.00401280
lea ecx, [esp + 0x130]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x84
call fcn.00402500
lea ecx, [esp + 0x124]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xdc]
call fcn.00402500
jmp 0x411f99
push 0
push str.restoreup
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x4116c4
cmp ebp, 3
jne 0x4116c4
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x85
call fcn.00402500
lea ecx, [esp + 0x12c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x86
call fcn.00401280
lea ecx, [esp + 0x140]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x87
call fcn.00402500
lea ecx, [esp + 0x134]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xe0]
call fcn.00402500
jmp 0x411f99
push 0
push str.ringin
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x4117ce
cmp ebp, 3
jne 0x4117ce
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x140]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x88
call fcn.00402500
lea ecx, [esp + 0x13c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x89
call fcn.00401280
lea ecx, [esp + 0x150]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x8a
call fcn.00402500
lea ecx, [esp + 0x144]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xe4]
call fcn.00402500
jmp 0x411f99
push 0
push str.ringout
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x4118d8
cmp ebp, 3
jne 0x4118d8
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x150]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x8b
call fcn.00402500
lea ecx, [esp + 0x14c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x8c
call fcn.00401280
lea ecx, [esp + 0x160]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x8d
call fcn.00402500
lea ecx, [esp + 0x154]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xe8]
call fcn.00402500
jmp 0x411f99
push 0
push str.systemstart
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x4119e2
cmp ebp, 3
jne 0x4119e2
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x160]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x8e
call fcn.00402500
lea ecx, [esp + 0x15c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x8f
call fcn.00401280
lea ecx, [esp + 0x170]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x90
call fcn.00402500
lea ecx, [esp + 0x164]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xec]
call fcn.00402500
jmp 0x411f99
push 0
push str.emptyrecyclebin
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x411aec
cmp ebp, 3
jne 0x411aec
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.00418efd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x170]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x91
call fcn.00402500
lea ecx, [esp + 0x16c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Sounds
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x92
call fcn.00401280
lea ecx, [esp + 0x180]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x204], 0x93
call fcn.00402500
lea ecx, [esp + 0x174]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1c]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0xf0]
call fcn.00402500
jmp 0x411f99
push 0
push str.logoxp
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x411bbd
cmp ebp, 8
jne 0x411bbd
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea ecx, [esp + 0x180]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x94
call fcn.00402500
lea ecx, [esp + 0x17c]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Logos
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x95
call fcn.00401280
lea eax, [esp + 0x190]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x34]
mov byte [esp + 0x204], 0x96
call fcn.00402500
lea ecx, [esp + 0x184]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
push 0
push str.logoxpbarposition
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x411c51
cmp ebp, 8
jne 0x411c51
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea ecx, [esp + 0x190]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x97
call fcn.00402500
lea ecx, [esp + 0x18c]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x18]
push 0x455b91
push edx
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
mov ecx, dword [esp + 0x18]
lea eax, [esi + 0x38]
push eax
push 0x456784
push ecx
call fcn.00435cc9
add esp, 0xc
jmp 0x411f99
push 0
push str.logonuixp
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x411da1
cmp ebp, 9
jne 0x411da1
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x198]
push edx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x98
call fcn.00402500
lea ecx, [esp + 0x194]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.LogonUI
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x99
call fcn.00401280
lea ecx, [esp + 0x1a8]
push ecx
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
lea ebp, [esi + 0x40]
push eax
mov ecx, ebp
mov byte [esp + 0x204], 0x9a
call fcn.00402500
lea ecx, [esp + 0x19c]
mov byte [esp + 0x200], bl
call fcn.00401170
push 0x455b91
push ebp
call fcn.00409220
add esp, 8
test al, al
je 0x411f99
push 0x5c
mov ecx, ebp
call fcn.004039b0
add eax, 1
push eax
lea edx, [esp + 0x1a8]
push edx
mov ecx, ebp
call fcn.00402030
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x9b
call fcn.00402500
lea ecx, [esp + 0x1a4]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.logonUI.ini
lea ecx, [esp + 0x1c]
call fcn.00401430
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00401280
mov ecx, esi
call fcn.004099f0
jmp 0x411f99
push 0
push str.path
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x411e72
cmp ebp, 0xa
jne 0x411e72
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea ecx, [esp + 0x1b0]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x9c
call fcn.00402500
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x200], bl
call fcn.00401170
push str.Styles
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00401280
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
mov byte [esp + 0x210], 0x9d
call fcn.00401280
lea eax, [esp + 0x1c0]
push eax
mov ecx, esi
mov byte [esp + 0x210], bl
call fcn.0040a040
push eax
lea ecx, [esi + 0x54]
mov byte [esp + 0x204], 0x9e
call fcn.00402500
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x200], bl
call fcn.00401170
jmp 0x411f99
push 0
push str.shell
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x411eec
cmp ebp, 0xa
jne 0x411eec
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea ecx, [esp + 0x1c0]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0x9f
call fcn.00402500
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x200], bl
call fcn.00401170
mov eax, dword [esp + 0x18]
lea edx, [esi + 0x58]
push edx
push 0x456784
push eax
call fcn.00435cc9
add esp, 0xc
jmp 0x411f99
push 0
push str.shcolor
lea ecx, [esp + 0x1c]
call fcn.004091e0
cmp eax, 0xffffffff
je 0x411f99
cmp dword [esp + 0x28], 0xa
jne 0x411f99
push 0x3d
lea ecx, [esp + 0x18]
call fcn.004039b0
add eax, 1
push eax
lea ecx, [esp + 0x1c8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004024d0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x204], 0xa0
call fcn.00402500
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x200], bl
call fcn.00401170
lea edx, [esp + 0x1cc]
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x1d8]
push eax
lea ecx, [esp + 0x4c]
push ecx
push str._d__d__d
push edx
call fcn.00435cc9
movzx ecx, byte [esp + 0x58]
xor eax, eax
mov ah, byte [esp + 0x1e0]
add esp, 0x14
mov al, byte [esp + 0x1d4]
shl eax, 8
or eax, ecx
mov dword [esi + 0x5c], eax
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x30]
call fcn.00418efd
test eax, eax
jne 0x40e632
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x40]
lea ecx, [esp + 0x2c]
call fcn.00418d66
lea eax, [ebp - 0x10]
mov byte [esp + 0x200], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411fe4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x200], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41200c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x200], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412034
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x200], 0
call fcn.00418dca
mov dword [esp + 0x200], 0xffffffff
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412069
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov eax, 1
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f0
ret 4
push 0x80070057
call fcn.00401000
int3