Function at 0x557f70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5713e6
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x5cf004]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0
lea eax, [edi + 0x178]
push dword [ebp + 8]
push dword [edi + 0x3b8]
push 0x5a83bc
push eax
call fcn.00402f90
add esp, 0x10
call fcn.00407579
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x557fdd
push 0x80004005
call fcn.004027b0
mov eax, dword [edx]
mov esi, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x557ff2
lock inc dword [edx + 0x14]
lea eax, [edx + 8]
jmp 0x557ff6
mov ecx, edx
call esi
lea esi, [eax + 0x10]
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 1
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x6c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40], vtable.CMenu.0
mov dword [ebp - 0x3c], 0
push ecx
mov byte [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.FILE
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 3
push 0x5a83e0
call fcn.00402210
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
mov byte [ebp - 4], 4
lea ebx, [esi - 0x10]
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
cmp edx, ebx
je 0x558091
cmp dword [ebx + 0xc], 0
jl 0x558082
mov eax, dword [edx]
cmp eax, dword [ebx]
jne 0x558082
push edx
call fcn.00402690
add esp, 4
mov ecx, ebx
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558091
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x10]
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x20]
mov eax, ebx
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5580ed
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5580e8
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5580e1
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x5580ed
mov ecx, edx
call dword [ebp - 0x1c]
jmp 0x5580ed
mov ecx, edx
call dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
push esi
push 0
push 0x400
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.SETTINGS
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 5
push 0x5a8400
call fcn.00402210
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
mov byte [ebp - 4], 6
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x558182
cmp dword [ecx + 0xc], 0
jl 0x558173
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x558170
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558182
mov eax, dword [ebp - 0x1c]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5581db
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5581d6
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5581cf
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x5581db
mov ecx, edx
call dword [ebp - 0x20]
jmp 0x5581db
mov ecx, edx
call dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
push esi
push 1
push 0x400
push 1
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.THEME
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 7
push 0x5a8418
call fcn.00402210
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
mov byte [ebp - 4], 8
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x558270
cmp dword [ecx + 0xc], 0
jl 0x558261
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x55825e
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558270
mov eax, dword [ebp - 0x20]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5582c9
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5582c4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5582bd
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x5582c9
mov ecx, edx
call dword [ebp - 0x24]
jmp 0x5582c9
mov ecx, edx
call dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
push esi
push 2
push 0x400
push 2
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push 0x5a8424
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 9
push 0x5a8430
call fcn.00402210
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
mov byte [ebp - 4], 0xa
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x55835e
cmp dword [ecx + 0xc], 0
jl 0x55834f
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x55834c
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x55835e
mov eax, dword [ebp - 0x20]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5583b7
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5583b2
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5583ab
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x5583b7
mov ecx, edx
call dword [ebp - 0x24]
jmp 0x5583b7
mov ecx, edx
call dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
push esi
push 3
push 0x400
push 3
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push 0x5a843c
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xb
push 0x5a8450
call fcn.00402210
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
mov byte [ebp - 4], 0xc
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x55844c
cmp dword [ecx + 0xc], 0
jl 0x55843d
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x55843a
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x55844c
mov eax, dword [ebp - 0x20]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5584a5
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5584a0
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558499
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x5584a5
mov ecx, edx
call dword [ebp - 0x24]
jmp 0x5584a5
mov ecx, edx
call dword [ebp - 0x24]
cmp dword [esi - 0xc], 0
jl 0x5584f0
push 0x5a845c
push esi
call fcn.00534314
add esp, 8
test eax, eax
je 0x5584f0
sub eax, esi
sar eax, 1
js 0x5584f0
push 9
push 0x5a8470
lea ecx, [ebp - 0x10]
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
push esi
push 4
push 0x400
push 4
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
jmp 0x558571
push str._Language_
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00403c70
add esp, 0xc
push dword [eax]
mov eax, dword [ebp - 0x18]
push 4
push 0x400
push 4
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
mov ecx, dword [ebp - 0x24]
mov eax, ebx
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558571
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x55856c
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558565
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558571
mov ecx, edx
call dword [ebp - 0x20]
jmp 0x558571
mov ecx, edx
call dword [ebp - 0x20]
push str._tAlt__F4
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.FILE_EXIT
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xd
push 0x5a84c4
call fcn.00402210
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
push eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0xe
push eax
call fcn.00403c70
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x558606
cmp dword [ecx + 0xc], 0
jl 0x5585f7
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x5585f4
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558606
mov eax, dword [ebp - 0x20]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0xe
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x55865f
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x55865a
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558653
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x55865f
mov ecx, edx
call dword [ebp - 0x24]
jmp 0x55865f
mov ecx, edx
call dword [ebp - 0x24]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5586b8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5586b3
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5586ac
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x5586b8
mov ecx, edx
call dword [ebp - 0x24]
jmp 0x5586b8
mov ecx, edx
call dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
push esi
push 0x8003
push 0
push 0x8003
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push str._tCtrl__S
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.SAVE
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x10
push 0x5a84f0
call fcn.00402210
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x11
push eax
call fcn.00403c70
add esp, 0xc
mov byte [ebp - 4], 0x12
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x558766
cmp dword [ecx + 0xc], 0
jl 0x558757
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x558754
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x28]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558766
mov eax, dword [ebp - 0x24]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0x11
mov eax, ebx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5587bf
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5587ba
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5587b3
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x5587bf
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x5587bf
mov ecx, edx
call dword [ebp - 0x28]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558818
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558813
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x55880c
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558818
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558818
mov ecx, edx
call dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
push esi
push 0x8033
push 0
push 0x8033
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push str._tCtrl__C
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.EDIT_COPY
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x13
push 0x5a8524
call fcn.00402210
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x14
push eax
call fcn.00403c70
add esp, 0xc
mov byte [ebp - 4], 0x15
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x5588c6
cmp dword [ecx + 0xc], 0
jl 0x5588b7
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x5588b4
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x28]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x5588c6
mov eax, dword [ebp - 0x24]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0x14
mov eax, ebx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x55891f
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x55891a
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558913
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x55891f
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x55891f
mov ecx, edx
call dword [ebp - 0x28]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558978
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558973
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x55896c
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558978
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558978
mov ecx, edx
call dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
push esi
push 0xe122
push 0
push 0xe122
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push str._tCtrl__Q
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push 0x5a8544
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x16
push 0x5a8564
call fcn.00402210
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x17
push eax
call fcn.00403c70
add esp, 0xc
mov byte [ebp - 4], 0x18
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x558a26
cmp dword [ecx + 0xc], 0
jl 0x558a17
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x558a14
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x28]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558a26
mov eax, dword [ebp - 0x24]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0x17
mov eax, ebx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558a7f
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558a7a
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558a73
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558a7f
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558a7f
mov ecx, edx
call dword [ebp - 0x28]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558ad8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558ad3
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558acc
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558ad8
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558ad8
mov ecx, edx
call dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
push esi
push 0x8032
push 0
push 0x8032
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push str.__IE9__
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.IE8_MODE
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x19
push 0x5a8594
call fcn.00402210
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x1a
push eax
call fcn.00403c70
add esp, 0xc
mov byte [ebp - 4], 0x1b
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x558b86
cmp dword [ecx + 0xc], 0
jl 0x558b77
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x558b74
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x28]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558b86
mov eax, dword [ebp - 0x24]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0x1a
mov eax, ebx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558bdf
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558bda
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558bd3
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558bdf
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558bdf
mov ecx, edx
call dword [ebp - 0x28]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558c38
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558c33
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558c2c
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558c38
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558c38
mov ecx, edx
call dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
push esi
push 0x8411
push 0
push 0x8411
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
call fcn.00561480
cmp eax, 0x384
jae 0x558c70
mov eax, dword [ebp - 0x18]
push 1
push 0x8411
push dword [eax + 4]
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [edi + 0x4cc], 0
mov eax, dword [ebp - 0x18]
je 0x558c80
push 8
jmp 0x558c82
push 0
push 0x8411
push dword [eax + 4]
call dword [sym.imp.USER32.dll_CheckMenuItem]
push 0x5a85a0
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.HELP
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1c
push 0x5a85b4
call fcn.00402210
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x1d
push eax
call fcn.00403c70
add esp, 0xc
mov byte [ebp - 4], 0x1e
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x558d25
cmp dword [ecx + 0xc], 0
jl 0x558d16
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x558d13
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x28]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558d25
mov eax, dword [ebp - 0x24]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0x1d
mov eax, ebx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558d7e
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558d79
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558d72
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558d7e
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558d7e
mov ecx, edx
call dword [ebp - 0x28]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558dd7
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558dd2
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558dcb
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558dd7
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558dd7
mov ecx, edx
call dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
push esi
push 0xe146
push 0
push 0xe146
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.HELP_ABOUT
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1f
push 0x5a85d8
call fcn.00402210
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
mov byte [ebp - 4], 0x20
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x558e6f
cmp dword [ecx + 0xc], 0
jl 0x558e60
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x558e5d
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x28]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558e6f
mov eax, dword [ebp - 0x24]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558ec8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558ec3
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558ebc
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558ec8
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558ec8
mov ecx, edx
call dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
push esi
push 0x8004
push 0
push 0x8004
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
mov eax, dword [ebp - 0x18]
push 1
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call fcn.00415c67
test eax, eax
je 0x558efc
mov eax, dword [eax + 4]
push eax
lea ecx, [ebp - 0x40]
call fcn.004156be
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.TEST_DATA
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x21
push 0x5a85f8
call fcn.00402210
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
mov byte [ebp - 4], 0x22
lea ecx, [esi - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
lea edx, [eax - 0x10]
cmp edx, ecx
je 0x558f84
cmp dword [ecx + 0xc], 0
jl 0x558f75
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x558f72
push edx
call fcn.00402690
mov ecx, dword [ebp - 0x28]
add esp, 4
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x558f84
mov eax, dword [ebp - 0x24]
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
push eax
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x558fdd
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x558fd8
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x558fd1
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x558fdd
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x558fdd
mov ecx, edx
call dword [ebp - 0x28]
push esi
push 0
push 0x400
push 0
push dword [ebp - 0x3c]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.INTERVAL_TIME
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x23
push 0x5a8620
call fcn.00402210
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0055eb30
mov byte [ebp - 4], 0x24
lea edi, [esi - 0x10]
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x559065
cmp dword [edi + 0xc], 0
jl 0x559056
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x559056
push ecx
call fcn.00402690
add esp, 4
mov ecx, edi
mov esi, eax
call fcn.00402820
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x559065
push dword [edx - 0xc]
lea ecx, [ebp - 0x10]
push edx
call fcn.004025d0
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5590aa
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5590a6
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5590a6
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x5590aa
mov ecx, edx
call edi
push esi
push 1
push 0x400
push 1
push dword [ebp - 0x3c]
call dword [sym.imp.USER32.dll_ModifyMenuW]
lea ecx, [ebp - 0x40]
call fcn.0041574e
call fcn.00407579
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x5590e1
push 0x80004005
call fcn.004027b0
mov eax, dword [edx]
mov esi, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5590f6
lock inc dword [edx + 0x14]
lea eax, [edx + 8]
jmp 0x5590fa
mov ecx, edx
call esi
lea esi, [eax + 0x10]
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x25
call fcn.00407579
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x559120
push 0x80004005
call fcn.004027b0
mov eax, dword [edx]
mov edi, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x559135
lock inc dword [edx + 0x14]
lea eax, [edx + 8]
jmp 0x559139
mov ecx, edx
call edi
lea edi, [eax + 0x10]
mov dword [ebp - 0x20], edi
push ecx
mov byte [ebp - 4], 0x26
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.SECOND
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x27
push 0x5a863c
call fcn.00402210
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x26
call fcn.0055eb30
mov byte [ebp - 4], 0x28
lea ecx, [esi - 0x10]
mov edx, dword [eax]
mov dword [ebp - 0x24], ecx
lea eax, [edx - 0x10]
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x5591bf
cmp dword [ecx + 0xc], 0
jl 0x5591b3
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x5591b3
push dword [ebp - 0x28]
call fcn.00402690
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, eax
call fcn.00402820
lea eax, [esi + 0x10]
mov dword [ebp - 0x1c], eax
jmp 0x5591bf
push dword [edx - 0xc]
lea ecx, [ebp - 0x1c]
push edx
call fcn.004025d0
mov byte [ebp - 4], 0x26
mov eax, ebx
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x559204
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x559200
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x559200
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x559204
mov ecx, edx
call esi
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push str.MINUTE
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x29
push 0x5a8658
call fcn.00402210
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x26
call fcn.0055eb30
mov byte [ebp - 4], 0x2a
add edi, 0xfffffff0
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
cmp edx, edi
je 0x55927c
cmp dword [edi + 0xc], 0
jl 0x559270
mov eax, dword [edx]
cmp eax, dword [edi]
jne 0x559270
push edx
call fcn.00402690
add esp, 4
mov ecx, edi
mov esi, eax
call fcn.00402820
lea eax, [esi + 0x10]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
jmp 0x55927c
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x20]
call fcn.004025d0
mov byte [ebp - 4], 0x26
mov eax, ebx
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5592c3
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5592bf
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5592bf
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
push 0
push dword [edx + 4]
call edi
jmp 0x5592c9
mov ecx, edx
call edi
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push 0x5a8664
push eax
call fcn.00402fb0
add esp, 0xc
push dword [eax]
mov eax, dword [ebp - 0x18]
push 0x841c
push 0
push 0x841c
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
mov ecx, dword [ebp - 0x2c]
mov eax, ebx
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x559349
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x559344
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x55933d
push 0
push dword [edx + 4]
call edi
jmp 0x559349
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x559349
mov ecx, edx
call dword [ebp - 0x28]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push 0x5a866c
push eax
call fcn.00402fb0
add esp, 0xc
push dword [eax]
mov eax, dword [ebp - 0x18]
push 0x841d
push 0
push 0x841d
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
mov ecx, dword [ebp - 0x2c]
mov eax, ebx
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5593c9
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5593c4
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5593bd
push 0
push dword [edx + 4]
call edi
jmp 0x5593c9
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x5593c9
mov ecx, edx
call dword [ebp - 0x28]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push 0x5a8674
push eax
call fcn.00402fb0
add esp, 0xc
push dword [eax]
mov eax, dword [ebp - 0x18]
push 0x841e
push 0
push 0x841e
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x559433
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov ebx, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x55942f
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov ebx, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x55942f
push 0
push dword [edx + 4]
call edi
jmp 0x559433
mov ecx, edx
call ebx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push 0x5a867c
push eax
call fcn.00402fb0
mov ebx, dword [ebp - 0x18]
add esp, 0xc
mov edi, dword [sym.imp.USER32.dll_ModifyMenuW]
push dword [eax]
push 0x841f
push 0
push 0x841f
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x2c]
call fcn.00402760
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x28]
push 0x5a8684
push eax
call fcn.00402fb0
add esp, 0xc
push dword [eax]
push 0x8420
push 0
push 0x8420
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x28]
call fcn.00402760
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push 0x5a868c
push eax
call fcn.00402fb0
add esp, 0xc
push dword [eax]
push 0x8421
push 0
push 0x8421
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x24]
call fcn.00402760
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push 0x5a8694
push eax
call fcn.00402fb0
add esp, 0xc
push dword [eax]
push 0x8422
push 0
push 0x8422
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x18]
call fcn.00402760
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x30]
push 0x5a869c
push eax
call fcn.00402fb0
add esp, 0xc
push dword [eax]
push 0x8423
push 0
push 0x8423
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x30]
call fcn.00402760
lea eax, [ebp - 0x20]
push eax
push 0x5a86a4
lea eax, [ebp - 0x34]
push eax
call fcn.00402fb0
add esp, 0xc
push dword [eax]
push 0x8424
push 0
push 0x8424
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x34]
call fcn.00402760
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x38]
push 0x5a86ac
push eax
call fcn.00402fb0
add esp, 0xc
push dword [eax]
push 0x8425
push 0
push 0x8425
push dword [ebx + 4]
call edi
lea ecx, [ebp - 0x38]
call fcn.00402760
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.DEFAULT_RANDOM
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2b
push 0x5a86d4
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x2c
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push dword [ebp - 0x10]
push 0x802f
push 0
push 0x802f
push dword [ebx + 4]
call edi
push 2
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call fcn.00415c67
test eax, eax
je 0x559601
mov eax, dword [eax + 4]
push eax
lea ecx, [ebp - 0x40]
call fcn.004156be
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.ZOOM
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2d
push 0x5a86ec
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x2e
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
call fcn.00561480
cmp eax, 0x320
jae 0x559691
push 7
push str.__IE8__
lea ecx, [ebp - 0x10]
call fcn.00402cc0
push dword [ebp - 0x10]
push 0
push 0x400
push 0
push dword [ebp - 0x3c]
call edi
push 0x401
push 0
push dword [ebp - 0x3c]
call dword [sym.imp.USER32.dll_EnableMenuItem]
jmp 0x5596a2
push dword [ebp - 0x10]
push 0
push 0x400
push 0
push dword [ebp - 0x3c]
call edi
lea ecx, [ebp - 0x40]
call fcn.0041574e
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.AUTO
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2f
push str.Menu
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x30
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push dword [ebp - 0x10]
push 0x8410
push 0
push 0x8410
push dword [ebx + 4]
call edi
mov ecx, esi
call fcn.00556ac0
cmp dword [esi + 0x48c], 1
mov ecx, esi
jne 0x559720
call fcn.00556510
jmp 0x559725
call fcn.005565e0
mov ecx, esi
call fcn.005567e0
mov eax, dword [esi]
mov ecx, esi
push ebx
call dword [eax + 0x70]
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.STOP_BENCHMARK
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x31
push 0x5a8740
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
push eax
lea ecx, [esi + 0x49c]
mov byte [ebp - 4], 0x32
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.DISK_CAPACITY_ERROR
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x33
push 0x5a8778
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
push eax
lea ecx, [esi + 0x490]
mov byte [ebp - 4], 0x34
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.DISK_CREATE_FILE_ERROR
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x35
push 0x5a87b8
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
push eax
lea ecx, [esi + 0x4a0]
mov byte [ebp - 4], 0x36
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.DISK_WRITE_ERROR
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x37
push 0x5a87ec
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
push eax
lea ecx, [esi + 0x494]
mov byte [ebp - 4], 0x38
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.DISK_READ_ERROR
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x39
push str.Message
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
push eax
lea ecx, [esi + 0x498]
mov byte [ebp - 4], 0x3a
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push 0x17
lea ecx, [esi + 0x4a4]
push str.Not_found_diskspd32.exe
call fcn.004025d0
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.TEST_DRIVE
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3b
push 0x5a8874
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
lea ebx, [esi + 0x4a8]
mov byte [ebp - 4], 0x3c
push eax
mov ecx, ebx
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.TEST_SIZE
call fcn.00402210
mov byte [ebp - 4], 0x3d
push ecx
mov ecx, esp
push 0x5a8894
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
lea ecx, [esi + 0x4b0]
mov byte [ebp - 4], 0x3e
push eax
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.TEST_COUNT
call fcn.00402210
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3f
push str.Title
call fcn.00402210
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x26
push eax
mov ecx, esi
call fcn.0055eb30
lea edi, [esi + 0x4ac]
mov byte [ebp - 4], 0x40
push eax
mov ecx, edi
call fcn.00402700
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x26
call fcn.00402760
push ecx
mov esi, esp
mov dword [ebp - 0x38], esp
mov dword [ebp - 0x34], esi
mov eax, dword [ebx]
sub eax, 0x10
push eax
call fcn.00402690
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov byte [ebp - 4], 0x41
push str.TestDrive
call fcn.00402210
mov ebx, dword [ebp - 0x14]
mov ecx, ebx
mov byte [ebp - 4], 0x26
call fcn.0055ab90
push ecx
mov esi, esp
mov dword [ebp - 0x38], esp
mov dword [ebp - 0x34], esi
mov eax, dword [edi]
sub eax, 0x10
push eax
call fcn.00402690
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov byte [ebp - 4], 0x42
push str.TestCount
call fcn.00402210
mov ecx, ebx
mov byte [ebp - 4], 0x26
call fcn.0055ab90
push ecx
mov dword [ebp - 0x38], esp
mov esi, esp
mov dword [ebp - 0x34], esi
mov eax, dword [ebx + 0x4b0]
sub eax, 0x10
push eax
call fcn.00402690
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov byte [ebp - 4], 0x43
push str.TestSize
call fcn.00402210
mov ecx, ebx
mov byte [ebp - 4], 0x26
call fcn.0055ab90
lea eax, [ebx + 0x198]
push eax
push dword [ebp + 8]
push 0x5a8900
push 0x5a8914
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
movd xmm0, dword [ebx + 0x4d4]
cvtdq2pd xmm0, xmm0
push 1
mulsd xmm0, qword [ebx + 0x3a0]
call fcn.00562b81
movd xmm0, dword [ebx + 0x4d0]
cvtdq2pd xmm0, xmm0
push eax
mulsd xmm0, qword [ebx + 0x3a0]
call fcn.00562b81
push eax
mov ecx, ebx
call fcn.0055f050
lea ecx, [ebp - 0x20]
call fcn.00402760
lea ecx, [ebp - 0x1c]
call fcn.00402760
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], vtable.CMenu.0
call fcn.00415727
lea ecx, [ebp - 0x10]
call fcn.00402760
lea ecx, [ebp + 8]
call fcn.00402760
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4