Function at 0x416250
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47be39
mov eax, dword fs:[0]
push eax
sub esp, 0x450
mov eax, dword [0x4a0144]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x454], eax
xor eax, eax
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x458], eax
call fcn.00428920
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x41640d
push 0x4d
push str.d:jenkins.jenkinsworkspacemaster_luinst_uiinst_uiinstcommandparser.cpp
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], al
call fcn.004060d0
push 3
push 0x4805d0
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], 0
call fcn.004060d0
mov byte [ebp - 4], 1
call fcn.00428920
mov edi, eax
lea ecx, [ebp - 0xa8]
push 0x40
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x438]
push eax
call fcn.00404830
mov esi, eax
push str.start_init_force_cmd..
push esi
mov byte [ebp - 4], 2
call fcn.00405490
mov eax, dword [ebp - 0x454]
mov ecx, 0x480c68
test eax, eax
cmovne ecx, eax
push ecx
push esi
call fcn.004074c0
mov eax, dword [edi]
add esp, 0x10
mov ecx, edi
push esi
call dword [eax + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.00405550
mov edx, dword [ebp - 0x424]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x4163b1
mov ecx, dword [ebp - 0x438]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4163a7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417279
push edx
push ecx
call fcn.00429809
add esp, 8
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], 0
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x41640d
mov ecx, dword [ebp - 0x450]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x416403
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41727e
push edx
push ecx
call fcn.00429809
add esp, 8
mov edx, dword [ebp - 0x454]
test edx, edx
jne 0x41641b
xor ecx, ecx
jmp 0x41642f
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416420
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 0x1c]
call fcn.0040d7f0
mov ecx, ebx
call fcn.00417350
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00452600
mov esi, dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea eax, [ebp - 0x458]
add esp, 0xc
mov dword [ebp - 0x454], 1
mov dword [ebp - 0x458], 0x104
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x454]
push eax
push str.Setup_Path
push 0x481a14
push reloc.OLEAUT32.dll_SysReAllocString
call esi
push str.ComputerZ_CN.exe
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41658e
push 0x208
lea eax, [ebp - 0x420]
mov dword [ebx + 0x48], 1
push 0
push eax
call fcn.00452600
add esp, 0xc
lea eax, [ebp - 0x458]
push eax
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x454]
push eax
push str.VendorID
push 0x481a14
push reloc.OLEAUT32.dll_SysReAllocString
call esi
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416510
sub ecx, edx
sar ecx, 1
je 0x41658e
push ecx
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebx + 0x20]
call fcn.0040d7f0
lea ecx, [ebx + 0x20]
call fcn.004182a0
lea ecx, [ebx + 0x20]
call fcn.004181a0
mov eax, dword [ebx + 0x20]
mov ecx, 0x4812fc
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x416576
test dx, dx
je 0x416572
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x416576
add eax, 4
add ecx, 4
test dx, dx
jne 0x416550
xor eax, eax
jmp 0x41657b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41658e
push 7
push str.ludashi
lea ecx, [ebx + 0x20]
call fcn.0040d7f0
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x417283
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, 0x49fe5c
mov dword [ebp - 4], 3
test eax, 0xffff0000
jne 0x4165cf
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x4165f7
mov ecx, 0x49fe5c
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4165d7
sub ecx, edx
sar ecx, 1
push ecx
push 0x49fe5c
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea eax, [ebp - 0x454]
mov dword [ebp - 4], 4
push eax
mov ecx, ebx
call fcn.00416140
mov edx, dword [ebp - 0x454]
or esi, 0xffffffff
mov dword [ebx + 0x30], eax
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416636
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x41728d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str.__PID
mov dword [ebp - 4], 5
test eax, 0xffff0000
jne 0x416677
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x4166a0
mov ecx, str.__PID
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416680
sub ecx, edx
sar ecx, 1
push ecx
push str.__PID
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea eax, [ebx + 0x24]
mov dword [ebp - 4], 6
push eax
lea eax, [ebp - 0x454]
mov ecx, ebx
push eax
call fcn.00416020
mov edx, dword [ebp - 0x454]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4166dd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x417297
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str._DIR
mov dword [ebp - 4], 7
test eax, 0xffff0000
jne 0x41671e
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x416746
mov ecx, str._DIR
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416726
sub ecx, edx
sar ecx, 1
push ecx
push str._DIR
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea eax, [ebx + 0x64]
mov dword [ebp - 4], 8
push eax
lea eax, [ebp - 0x454]
mov ecx, ebx
push eax
call fcn.00416020
mov edx, dword [ebp - 0x454]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416783
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172a1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str.__default_app
mov dword [ebp - 4], 9
test eax, 0xffff0000
jne 0x4167c4
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x4167f0
mov ecx, str.__default_app
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4167d0
sub ecx, edx
sar ecx, 1
push ecx
push str.__default_app
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea edi, [ebx + 0x2c]
mov dword [ebp - 4], 0xa
push edi
lea eax, [ebp - 0x454]
mov ecx, ebx
push eax
call fcn.00416020
mov edx, dword [ebp - 0x454]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41682d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [edi]
cmp dword [edx - 0xc], 0
jne 0x416872
mov edx, str.Ludashi
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x458], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416845
sub ecx, dword [ebp - 0x458]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.0040d7f0
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172ab
jmp 0x41687a
test edx, edx
jne 0x41683a
xor ecx, ecx
jmp 0x416858
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str.__inst_sign_patch
mov dword [ebp - 4], 0xb
test eax, 0xffff0000
jne 0x4168ac
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x4168d4
mov ecx, str.__inst_sign_patch
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4168b4
sub ecx, edx
sar ecx, 1
push ecx
push str.__inst_sign_patch
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea eax, [ebp - 0x454]
mov dword [ebp - 4], 0xc
push eax
mov ecx, ebx
call fcn.00416140
mov edx, dword [ebp - 0x454]
mov dword [ebx + 0x38], eax
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416910
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172b5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str._REPAIR
mov dword [ebp - 4], 0xd
test eax, 0xffff0000
jne 0x416951
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x416980
mov ecx, str._REPAIR
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416960
sub ecx, edx
sar ecx, 1
push ecx
push str._REPAIR
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea eax, [ebp - 0x454]
mov dword [ebp - 4], 0xe
push eax
mov ecx, ebx
call fcn.00416140
mov edx, dword [ebp - 0x454]
mov dword [ebx + 0x68], eax
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4169bc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172bf
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str._NOSTART
mov dword [ebp - 4], 0xf
test eax, 0xffff0000
jne 0x4169fd
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x416a25
mov ecx, str._NOSTART
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416a05
sub ecx, edx
sar ecx, 1
push ecx
push str._NOSTART
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea eax, [ebp - 0x454]
mov dword [ebp - 4], 0x10
push eax
mov ecx, ebx
call fcn.00416140
mov edx, dword [ebp - 0x454]
mov dword [ebx + 0x58], eax
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416a61
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172c9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str._RUN
mov dword [ebp - 4], 0x11
test eax, 0xffff0000
jne 0x416aa2
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x416ad0
mov ecx, str._RUN
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416ab0
sub ecx, edx
sar ecx, 1
push ecx
push str._RUN
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea eax, [ebp - 0x454]
mov dword [ebp - 4], 0x12
push eax
mov ecx, ebx
call fcn.00416140
mov edx, dword [ebp - 0x454]
neg eax
mov dword [ebp - 4], 0xffffffff
sbb eax, eax
add edx, 0xfffffff0
inc eax
mov dword [ebx + 0x5c], eax
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416b11
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172d3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str._SKIPFIRSTPAGE
mov dword [ebp - 4], 0x13
test eax, 0xffff0000
jne 0x416b52
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x416b80
mov ecx, str._SKIPFIRSTPAGE
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416b60
sub ecx, edx
sar ecx, 1
push ecx
push str._SKIPFIRSTPAGE
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea eax, [ebp - 0x454]
mov dword [ebp - 4], 0x14
push eax
mov ecx, ebx
call fcn.00416140
mov edx, dword [ebp - 0x454]
mov dword [ebx + 0x4c], eax
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416bbc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172dd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str.__skip_main
mov dword [ebp - 4], 0x15
test eax, 0xffff0000
jne 0x416bfd
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x416c25
mov ecx, str.__skip_main
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416c05
sub ecx, edx
sar ecx, 1
push ecx
push str.__skip_main
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
lea eax, [ebp - 0x454]
mov dword [ebp - 4], 0x16
push eax
mov ecx, ebx
call fcn.00416140
mov edx, dword [ebp - 0x454]
mov dword [ebx + 0x50], eax
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416c61
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172e7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x458], eax
push 0xcd
lea ecx, [ebp - 0x458]
mov dword [ebp - 4], 0x17
call fcn.00409720
lea eax, [ebp - 0x458]
mov dword [ebp - 4], 0x18
push eax
lea ecx, [ebx + 0x28]
call fcn.00408cc0
mov edx, dword [ebp - 0x458]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416ccf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x481a10
push dword [ebx + 0x28]
call fcn.004615eb
add esp, 8
test eax, eax
je 0x416d8a
cmp dword [ebx + 0x60], 0
jne 0x416d8a
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172f1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str._NOSOFTMGR
mov dword [ebp - 4], 0x19
test eax, 0xffff0000
jne 0x416d32
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x416d60
mov ecx, str._NOSOFTMGR
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416d40
sub ecx, edx
sar ecx, 1
push ecx
push str._NOSOFTMGR
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
mov eax, 1
mov dword [ebp - 4], 0x1a
mov dword [ebp - 0x45c], eax
mov ecx, ebx
mov dword [ebp - 0x458], eax
lea eax, [ebp - 0x454]
push eax
call fcn.00416140
test eax, eax
je 0x416d8f
mov eax, 1
mov dword [ebx + 0x60], eax
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 4], 0xffffffff
test al, 1
je 0x416dc9
mov edx, dword [ebp - 0x454]
and eax, 0xfffffffe
mov dword [ebp - 0x45c], eax
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416dc9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebx + 0x3c], 0
jne 0x416e6e
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x4172fb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str.__no_tray_icon
mov dword [ebp - 4], 0x1b
test eax, 0xffff0000
jne 0x416e14
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x416e40
mov ecx, str.__no_tray_icon
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416e20
sub ecx, edx
sar ecx, 1
push ecx
push str.__no_tray_icon
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
mov eax, dword [ebp - 0x45c]
mov ecx, ebx
or eax, 2
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x458], eax
lea eax, [ebp - 0x454]
push eax
call fcn.00416140
test eax, eax
je 0x416e73
mov eax, 1
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 4], 0xffffffff
test al, 2
je 0x416ead
mov edx, dword [ebp - 0x454]
and eax, 0xfffffffd
mov dword [ebp - 0x45c], eax
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416ead
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebx + 0x40], 0
jne 0x416f4e
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x417305
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str.__no_tray_menu
mov dword [ebp - 4], 0x1d
test eax, 0xffff0000
jne 0x416ef8
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x416f20
mov ecx, str.__no_tray_menu
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416f00
sub ecx, edx
sar ecx, 1
push ecx
push str.__no_tray_menu
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
mov eax, dword [ebp - 0x45c]
mov ecx, ebx
or eax, 4
mov dword [ebp - 4], 0x1e
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x458], eax
lea eax, [ebp - 0x454]
push eax
call fcn.00416140
test eax, eax
je 0x416f53
mov eax, 1
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 4], 0xffffffff
test al, 4
je 0x416f8d
mov edx, dword [ebp - 0x454]
and eax, 0xfffffffb
mov dword [ebp - 0x45c], eax
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x416f8d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebx + 0x44], 0
jne 0x41702e
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x41730f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x454], eax
mov eax, str.__no_msgbox
mov dword [ebp - 4], 0x1f
test eax, 0xffff0000
jne 0x416fd8
movzx eax, ax
lea ecx, [ebp - 0x454]
push eax
call fcn.00409720
jmp 0x417000
mov ecx, str.__no_msgbox
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x416fe0
sub ecx, edx
sar ecx, 1
push ecx
push str.__no_msgbox
lea ecx, [ebp - 0x454]
call fcn.0040d7f0
mov eax, dword [ebp - 0x45c]
mov ecx, ebx
or eax, 8
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x458], eax
lea eax, [ebp - 0x454]
push eax
call fcn.00416140
test eax, eax
je 0x417033
mov eax, 1
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 4], 0xffffffff
test al, 8
je 0x417064
mov edx, dword [ebp - 0x454]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x417064
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x417319
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x458], eax
mov eax, str.__for_tray_cmd
mov dword [ebp - 4], 0x21
test eax, 0xffff0000
jne 0x4170a5
movzx eax, ax
lea ecx, [ebp - 0x458]
push eax
call fcn.00409720
jmp 0x4170d0
mov ecx, str.__for_tray_cmd
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4170b0
sub ecx, edx
sar ecx, 1
push ecx
push str.__for_tray_cmd
lea ecx, [ebp - 0x458]
call fcn.0040d7f0
lea eax, [ebx + 0x14]
mov dword [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x458]
mov ecx, ebx
push eax
call fcn.00416020
mov edx, dword [ebp - 0x458]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41710d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x417323
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x458], eax
mov eax, str.__for_cn_cmd
mov dword [ebp - 4], 0x23
test eax, 0xffff0000
jne 0x41714e
movzx eax, ax
lea ecx, [ebp - 0x458]
push eax
call fcn.00409720
jmp 0x417176
mov ecx, str.__for_cn_cmd
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x417156
sub ecx, edx
sar ecx, 1
push ecx
push str.__for_cn_cmd
lea ecx, [ebp - 0x458]
call fcn.0040d7f0
lea eax, [ebx + 0x18]
mov dword [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x458]
mov ecx, ebx
push eax
call fcn.00416020
mov edx, dword [ebp - 0x458]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4171b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409570
mov ecx, eax
test ecx, ecx
je 0x41732d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x458], eax
mov eax, str.__for_inst_cmd
mov dword [ebp - 4], 0x25
test eax, 0xffff0000
jne 0x4171f4
movzx eax, ax
lea ecx, [ebp - 0x458]
push eax
call fcn.00409720
jmp 0x417220
mov ecx, str.__for_inst_cmd
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x417200
sub ecx, edx
sar ecx, 1
push ecx
push str.__for_inst_cmd
lea ecx, [ebp - 0x458]
call fcn.0040d7f0
lea eax, [ebx + 0xc]
mov dword [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x458]
mov ecx, ebx
push eax
call fcn.00416020
mov edx, dword [ebp - 0x458]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x41725b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00429abf
mov esp, ebp
pop ebp
ret 4
call fcn.00456139
call fcn.00456139
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
push 0x80004005
call fcn.00403510
int3