Function at 0x569fa0
Capabilities:
Check http status code
Contain obfuscated stackstrings
Parse pe header
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58d6bf
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push esi
push edi
mov eax, dword [0x5ebfc4]
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 + 0xd4]
push dword [ebp + 8]
push dword [edi + 0x388]
push 0x5c4b90
push eax
call fcn.00404950
add esp, 0x10
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bd27
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bd31
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
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 - 0x58], vtable.CMenu.0
mov dword [ebp - 0x54], 0
push 0
push ecx
mov byte [ebp - 4], 2
mov ebx, esp
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x44], ebx
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bd38
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bd42
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [ebx], eax
push str.FILE
mov ecx, ebx
mov byte [ebp - 4], 3
call fcn.004022b0
test al, al
jne 0x56a095
push 4
push str.FILE
mov ecx, ebx
call fcn.00402430
push ecx
mov ebx, esp
mov byte [ebp - 4], 4
mov dword [ebp - 0x44], ebx
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bd49
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bd53
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [ebx], eax
push 0x5c4bb4
mov ecx, ebx
mov byte [ebp - 4], 5
call fcn.004022b0
test al, al
jne 0x56a0ec
push 4
push 0x5c4bb4
mov ecx, ebx
call fcn.00402430
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 4
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00563640
mov byte [ebp - 4], 6
lea ebx, [esi - 0x10]
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
cmp edx, ebx
je 0x56a144
cmp dword [ebx + 0xc], 0
jl 0x56a135
mov eax, dword [edx]
cmp eax, dword [ebx]
jne 0x56a135
push edx
call fcn.00401f10
add esp, 4
mov ecx, ebx
mov esi, eax
call fcn.004029d0
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x56a144
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x10]
call fcn.00402430
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov eax, ebx
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x56a199
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edx, dword [eax + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [ecx]
cmp eax, 0x5940e4
jne 0x56bd64
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 0x56bd5a
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x18]
push esi
push 0
push 0x400
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push 0
push ecx
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bd6e
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bd78
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push str.SETTINGS
mov byte [ebp - 4], 7
call fcn.004022b0
test al, al
jne 0x56a207
mov ecx, dword [ebp - 0x1c]
push 8
push str.SETTINGS
call fcn.00402430
push ecx
mov byte [ebp - 4], 8
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bd7f
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bd89
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4bd4
mov byte [ebp - 4], 9
call fcn.004022b0
test al, al
jne 0x56a25e
mov ecx, dword [ebp - 0x1c]
push 4
push 0x5c4bd4
call fcn.00402430
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 8
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00563640
mov byte [ebp - 4], 0xa
lea ecx, [esi - 0x10]
mov edx, dword [eax]
mov dword [ebp - 0x1c], ecx
lea eax, [edx - 0x10]
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x56a2bf
cmp dword [ecx + 0xc], 0
jl 0x56a2b0
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x56a2b0
push dword [ebp - 0x20]
call fcn.00401f10
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov esi, eax
call fcn.004029d0
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x56a2bf
push dword [edx - 0xc]
lea ecx, [ebp - 0x10]
push edx
call fcn.00402430
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 0x56a312
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, 0x5940e4
jne 0x56bd9a
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 0x56bd90
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
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 0
push ecx
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bda4
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bdae
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push str.PROFILE
mov byte [ebp - 4], 0xb
call fcn.004022b0
test al, al
jne 0x56a380
mov ecx, dword [ebp - 0x1c]
push 7
push str.PROFILE
call fcn.00402430
push ecx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bdb5
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bdbf
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4bf0
mov byte [ebp - 4], 0xd
call fcn.004022b0
test al, al
jne 0x56a3d7
mov ecx, dword [ebp - 0x1c]
push 4
push 0x5c4bf0
call fcn.00402430
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00563640
mov byte [ebp - 4], 0xe
lea ecx, [esi - 0x10]
mov edx, dword [eax]
mov dword [ebp - 0x20], ecx
lea eax, [edx - 0x10]
mov dword [ebp - 0x24], eax
cmp eax, ecx
je 0x56a438
cmp dword [ecx + 0xc], 0
jl 0x56a429
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x56a429
push dword [ebp - 0x24]
call fcn.00401f10
mov ecx, dword [ebp - 0x20]
add esp, 4
mov esi, eax
call fcn.004029d0
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x56a438
push dword [edx - 0xc]
lea ecx, [ebp - 0x10]
push edx
call fcn.00402430
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 0x56a48b
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, 0x5940e4
jne 0x56bdd0
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 0x56bdc6
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
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 0
push ecx
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bdda
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bde4
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push str.THEME
mov byte [ebp - 4], 0xf
call fcn.004022b0
test al, al
jne 0x56a4f9
mov ecx, dword [ebp - 0x1c]
push 5
push str.THEME
call fcn.00402430
push ecx
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bdeb
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bdf5
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4c08
mov byte [ebp - 4], 0x11
call fcn.004022b0
test al, al
jne 0x56a550
mov ecx, dword [ebp - 0x1c]
push 4
push 0x5c4c08
call fcn.00402430
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x10
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00563640
mov byte [ebp - 4], 0x12
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 0x56a5b1
cmp dword [ecx + 0xc], 0
jl 0x56a5a2
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x56a5a2
push dword [ebp - 0x28]
call fcn.00401f10
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, eax
call fcn.004029d0
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x56a5b1
push dword [edx - 0xc]
lea ecx, [ebp - 0x10]
push edx
call fcn.00402430
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 0x56a604
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, 0x5940e4
jne 0x56be06
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 0x56bdfc
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
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 0
push ecx
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56be10
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56be1a
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4c14
mov byte [ebp - 4], 0x13
call fcn.004022b0
test al, al
jne 0x56a672
mov ecx, dword [ebp - 0x1c]
push 4
push 0x5c4c14
call fcn.00402430
push ecx
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56be21
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56be2b
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4c20
mov byte [ebp - 4], 0x15
call fcn.004022b0
test al, al
jne 0x56a6c9
mov ecx, dword [ebp - 0x1c]
push 4
push 0x5c4c20
call fcn.00402430
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x14
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00563640
mov byte [ebp - 4], 0x16
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 0x56a72a
cmp dword [ecx + 0xc], 0
jl 0x56a71b
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x56a71b
push dword [ebp - 0x28]
call fcn.00401f10
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, eax
call fcn.004029d0
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x56a72a
push dword [edx - 0xc]
lea ecx, [ebp - 0x10]
push edx
call fcn.00402430
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 0x56a77d
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, 0x5940e4
jne 0x56be3c
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 0x56be32
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [ebp - 0x18]
push esi
push 4
push 0x400
push 4
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
push 0
push ecx
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56be46
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56be50
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4c2c
mov byte [ebp - 4], 0x17
call fcn.004022b0
test al, al
jne 0x56a7eb
mov ecx, dword [ebp - 0x1c]
push 8
push 0x5c4c2c
call fcn.00402430
push ecx
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56be57
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56be61
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4c40
mov byte [ebp - 4], 0x19
call fcn.004022b0
test al, al
jne 0x56a842
mov ecx, dword [ebp - 0x1c]
push 4
push 0x5c4c40
call fcn.00402430
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x18
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00563640
mov byte [ebp - 4], 0x1a
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 0x56a8a3
cmp dword [ecx + 0xc], 0
jl 0x56a894
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x56a894
push dword [ebp - 0x28]
call fcn.00401f10
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, eax
call fcn.004029d0
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x56a8a3
push dword [edx - 0xc]
lea ecx, [ebp - 0x10]
push edx
call fcn.00402430
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 0x56a8f6
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, 0x5940e4
jne 0x56be72
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 0x56be68
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi - 0xc], 0
jl 0x56a93e
push 0x5c4c4c
push esi
call fcn.0053dc90
add esp, 8
test eax, eax
je 0x56a93e
sub eax, esi
sar eax, 1
js 0x56a93e
push 9
push 0x5c4c60
lea ecx, [ebp - 0x10]
call fcn.00402430
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
push esi
push 5
push 0x400
push 5
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
jmp 0x56a9b9
push str._Language_
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004059c0
add esp, 0xc
push dword [eax]
mov eax, dword [ebp - 0x18]
push 5
push 0x400
push 5
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ModifyMenuW]
mov ecx, dword [ebp - 0x28]
mov eax, ebx
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x56a9b9
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, 0x5940e4
jne 0x56be86
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 0x56be7c
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push str._tAlt__F4
push 0
push ecx
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56be90
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56be9a
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push str.FILE_EXIT
mov byte [ebp - 4], 0x1b
call fcn.004022b0
test al, al
jne 0x56aa16
mov ecx, dword [ebp - 0x1c]
push 9
push str.FILE_EXIT
call fcn.00402430
push ecx
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bea1
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56beab
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4cb4
mov byte [ebp - 4], 0x1d
call fcn.004022b0
test al, al
jne 0x56aa6d
mov ecx, dword [ebp - 0x1c]
push 4
push 0x5c4cb4
call fcn.00402430
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x1c
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00563640
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x1e
push eax
call fcn.004059c0
add esp, 0xc
mov byte [ebp - 4], 0x1f
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 0x56aadf
cmp dword [ecx + 0xc], 0
jl 0x56aad0
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x56aad0
push dword [ebp - 0x28]
call fcn.00401f10
mov ecx, dword [ebp - 0x24]
add esp, 4
mov esi, eax
call fcn.004029d0
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x56aadf
push dword [edx - 0xc]
lea ecx, [ebp - 0x10]
push edx
call fcn.00402430
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0x1e
mov eax, ebx
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x56ab32
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, 0x5940e4
jne 0x56bebc
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 0x56beb2
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [ebp - 4], 2
mov eax, ebx
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x56ab85
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, 0x5940e4
jne 0x56bed0
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 0x56bec6
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
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 0
push ecx
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56beda
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bee4
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push str.SAVE
mov byte [ebp - 4], 0x20
call fcn.004022b0
test al, al
jne 0x56abfb
mov ecx, dword [ebp - 0x1c]
push 4
push str.SAVE
call fcn.00402430
push ecx
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56beeb
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bef5
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4ce0
mov byte [ebp - 4], 0x22
call fcn.004022b0
test al, al
jne 0x56ac52
mov ecx, dword [ebp - 0x1c]
push 4
push 0x5c4ce0
call fcn.00402430
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x21
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00563640
push eax
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x23
push eax
call fcn.004059c0
add esp, 0xc
mov byte [ebp - 4], 0x24
lea ecx, [esi - 0x10]
mov edx, dword [eax]
mov dword [ebp - 0x28], ecx
lea eax, [edx - 0x10]
mov dword [ebp - 0x2c], eax
cmp eax, ecx
je 0x56acc4
cmp dword [ecx + 0xc], 0
jl 0x56acb5
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x56acb5
push dword [ebp - 0x2c]
call fcn.00401f10
mov ecx, dword [ebp - 0x28]
add esp, 4
mov esi, eax
call fcn.004029d0
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x56acc4
push dword [edx - 0xc]
lea ecx, [ebp - 0x10]
push edx
call fcn.00402430
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0x23
mov eax, ebx
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x56ad17
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x14]
cmp eax, 0x5940e4
jne 0x56bf06
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x56befc
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
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 0x56ad6a
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x14]
cmp eax, 0x5940e4
jne 0x56bf1a
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x56bf10
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
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 0
push ecx
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bf24
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bf2e
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push str.EDIT_COPY
mov byte [ebp - 4], 0x25
call fcn.004022b0
test al, al
jne 0x56ade0
mov ecx, dword [ebp - 0x1c]
push 9
push str.EDIT_COPY
call fcn.00402430
push ecx
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bf35
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bf3f
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4d14
mov byte [ebp - 4], 0x27
call fcn.004022b0
test al, al
jne 0x56ae37
mov ecx, dword [ebp - 0x1c]
push 4
push 0x5c4d14
call fcn.00402430
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x26
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00563640
push eax
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x28
push eax
call fcn.004059c0
add esp, 0xc
mov byte [ebp - 4], 0x29
lea ecx, [esi - 0x10]
mov edx, dword [eax]
mov dword [ebp - 0x28], ecx
lea eax, [edx - 0x10]
mov dword [ebp - 0x2c], eax
cmp eax, ecx
je 0x56aea9
cmp dword [ecx + 0xc], 0
jl 0x56ae9a
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x56ae9a
push dword [ebp - 0x2c]
call fcn.00401f10
mov ecx, dword [ebp - 0x28]
add esp, 4
mov esi, eax
call fcn.004029d0
add esi, 0x10
mov dword [ebp - 0x10], esi
jmp 0x56aea9
push dword [edx - 0xc]
lea ecx, [ebp - 0x10]
push edx
call fcn.00402430
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 0x28
mov eax, ebx
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x56aefc
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x14]
cmp eax, 0x5940e4
jne 0x56bf50
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x14]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x56bf46
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x56af41
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov ebx, dword [eax + 4]
cmp eax, 0x5940e4
jne 0x56bf5a
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov ebx, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x56bf5a
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [sym.imp.USER32.dll_ModifyMenuW]
push esi
mov esi, dword [ebp - 0x18]
push 0xe122
push 0
push 0xe122
push dword [esi + 4]
call ebx
push str._tCtrl__Q
push 0
push ecx
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x1c], esp
call fcn.00407271
mov ecx, eax
test ecx, ecx
je 0x56bf63
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, 0x5940e4
jne 0x56bf6d
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ecx], eax
push 0x5c4d34
mov byte [ebp - 4], 0x2a
call fcn.004022b0
test al, al
jne 0x56afb9
mov ecx, dword [ebp - 0x1c]
push 0xe
push 0x5c4d34
call fcn.00402430
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2b
push 0x5c4d54
call fcn.00402550
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x2c
push eax
call fcn.004059c0
add esp, 0xc
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x2d
call fcn.00401f80
lea ecx, [ebp - 0x2c]
call fcn.00402930
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 0x8032
push 0
push 0x8032
push dword [esi + 4]
call ebx
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push 0x5c4d60
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2e
push 0x5c4d80
call fcn.00402550
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x2f
call fcn.00401f80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 0x8426
push 0
push 0x8426
push dword [esi + 4]
call ebx
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push 0x5c4d8c
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x30
push 0x5c4da8
call fcn.00402550
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x31
call fcn.00401f80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 0x8427
push 0
push 0x8427
push dword [esi + 4]
call ebx
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push 0x5c4db4
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x32
push 0x5c4dd0
call fcn.00402550
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x33
call fcn.00401f80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 0x8428
push 0
push 0x8428
push dword [esi + 4]
call ebx
push 0x5c4ddc
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.PROFILE_DEFAULT
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x34
push 0x5c4e0c
call fcn.00402550
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x35
push eax
call fcn.004059c0
add esp, 0xc
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x36
call fcn.00401f80
lea ecx, [ebp - 0x2c]
call fcn.00402930
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 0x8429
push 0
push 0x8429
push dword [esi + 4]
call ebx
push 0x5c4e18
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.PROFILE_PEAK
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x37
push 0x5c4e44
call fcn.00402550
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x38
push eax
call fcn.004059c0
add esp, 0xc
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x39
call fcn.00401f80
lea ecx, [ebp - 0x2c]
call fcn.00402930
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 0x842a
push 0
push 0x842a
push dword [esi + 4]
call ebx
push str.__Mix_
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.PROFILE_REAL
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3a
push 0x5c4e7c
call fcn.00402550
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x3b
push eax
call fcn.004059c0
add esp, 0xc
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x3c
call fcn.00401f80
lea ecx, [ebp - 0x2c]
call fcn.00402930
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.00402930
push dword [ebp - 0x10]
push 0x842b
push 0
push 0x842b
push dword [esi + 4]
call ebx
push 0x5c4e88
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.HELP
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x3d
push 0x5c4e9c
call fcn.00402550
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x3e
push eax
call fcn.004059c0
add esp, 0xc
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x3f
call fcn.00401f80
lea ecx, [ebp - 0x2c]
call fcn.00402930
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 0xe146
push 0
push 0xe146
push dword [esi + 4]
call ebx
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.HELP_ABOUT
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x40
push 0x5c4ec0
call fcn.00402550
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x41
call fcn.00401f80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 0x8004
push 0
push 0x8004
push dword [esi + 4]
call ebx
push 1
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call fcn.00418826
test eax, eax
je 0x56b3a7
mov eax, dword [eax + 4]
push eax
lea ecx, [ebp - 0x58]
call fcn.0041823f
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str.TEST_DATA
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x42
push 0x5c4ee0
call fcn.00402550
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x43
call fcn.00401f80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 0
push 0x400
push 0
push dword [ebp - 0x54]
call ebx
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str.INTERVAL_TIME
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x44
push 0x5c4f08
call fcn.00402550
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x45
call fcn.00401f80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00402930
push dword [ebp - 0x10]
push 1
push 0x400
push 1
push dword [ebp - 0x54]
call ebx
lea ecx, [ebp - 0x58]
call fcn.004182bd
lea ecx, [ebp - 0x14]
call fcn.00404c10
lea ecx, [ebp - 0x1c]
call fcn.00404c10
push 0
push ecx
mov byte [ebp - 4], 0x47
mov ecx, esp
mov dword [ebp - 0x4c], esp
push str.SECOND
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x48
push 0x5c4f24
call fcn.00402550
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x49
call fcn.00401f80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x47
call fcn.00402930
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.MINUTE
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x4a
push 0x5c4f40
call fcn.00402550
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x4b
call fcn.00401f80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x47
call fcn.00402930
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push 0x5c4f4c
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x841c
push 0
push 0x841c
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x28]
call fcn.00402930
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push 0x5c4f54
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x841d
push 0
push 0x841d
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x24]
call fcn.00402930
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push 0x5c4f5c
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x841e
push 0
push 0x841e
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x20]
call fcn.00402930
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push 0x5c4f64
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x841f
push 0
push 0x841f
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x30]
call fcn.00402930
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
push 0x5c4f6c
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x8420
push 0
push 0x8420
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x34]
call fcn.00402930
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push 0x5c4f74
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x8421
push 0
push 0x8421
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x38]
call fcn.00402930
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x3c]
push 0x5c4f7c
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x8422
push 0
push 0x8422
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x3c]
call fcn.00402930
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x40]
push 0x5c4f84
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x8423
push 0
push 0x8423
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x40]
call fcn.00402930
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x44]
push 0x5c4f8c
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x8424
push 0
push 0x8424
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x44]
call fcn.00402930
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x48]
push 0x5c4f94
push eax
call fcn.004058c0
add esp, 0xc
push dword [eax]
push 0x8425
push 0
push 0x8425
push dword [esi + 4]
call ebx
lea ecx, [ebp - 0x48]
call fcn.00402930
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.DEFAULT_RANDOM
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x4c
push 0x5c4fbc
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x4d
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
push dword [ebp - 0x10]
push 0x802f
push 0
push 0x802f
push dword [esi + 4]
call ebx
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.ALL_ZERO
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x4e
push 0x5c4fdc
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [ebp - 0x10]
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
push dword [ebp - 0x10]
push 0x8030
push 0
push 0x8030
push dword [esi + 4]
call ebx
push 3
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call fcn.00418826
test eax, eax
je 0x56b7d0
mov eax, dword [eax + 4]
push eax
lea ecx, [ebp - 0x58]
call fcn.0041823f
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.ZOOM
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x50
push 0x5c4ff4
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x51
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
push dword [ebp - 0x10]
push 0
push 0x400
push 0
push dword [ebp - 0x54]
call ebx
lea ecx, [ebp - 0x58]
call fcn.004182bd
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.AUTO
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x52
push 0x5c500c
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x53
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
push dword [ebp - 0x10]
push 0x8411
push 0
push 0x8411
push dword [esi + 4]
call ebx
push str._tCtrl__F
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push 0x5c502c
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x54
push str.Menu
call fcn.00402550
lea eax, [ebp - 0x44]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x47
call fcn.00563640
push eax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x55
push eax
call fcn.004059c0
add esp, 0xc
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x56
call fcn.00401f80
lea ecx, [ebp - 0x48]
call fcn.00402930
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x47
call fcn.00402930
push dword [ebp - 0x10]
push 0x803e
push 0
push 0x803e
push dword [esi + 4]
call ebx
mov eax, dword [edi + 0x308]
add eax, 0xffffff9c
cmp eax, 0xc8
ja case.0x56b930.101
movzx eax, byte [eax + 0x56bf90]
jmp dword [eax*4 + 0x56bf74]
mov ebx, 0x8023
jmp 0x56b966
mov ebx, 0x8024
jmp 0x56b966
mov ebx, 0x8025
jmp 0x56b966
mov ebx, 0x8026
jmp 0x56b966
mov ebx, 0x8027
jmp 0x56b966
mov ebx, 0x8028
jmp 0x56b966
mov ebx, 0x8411
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x6c]
push 0
push ebx
mov esi, eax
push 0x8411
push 0x8023
push dword [esi + 4]
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov edx, dword [edi]
mov ecx, edi
push esi
call dword [edx + 0x70]
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_DrawMenuBar]
cmp dword [edi + 0x55c], 1
mov ecx, edi
jne 0x56b9a8
call fcn.00568060
jmp 0x56b9ad
call fcn.00568160
mov eax, dword [edi + 0x564]
cmp eax, 5
ja case.default.0x56b9b8
jmp dword [eax*4 + 0x56c05c]
mov ecx, edi
call fcn.00567f10
jmp 0x56b9fc
mov ecx, edi
call fcn.00567dc0
jmp 0x56b9fc
mov ecx, edi
call fcn.00567c70
jmp 0x56b9fc
mov ecx, edi
call fcn.00567b20
jmp 0x56b9fc
mov ecx, edi
call fcn.005679d0
jmp 0x56b9fc
mov ecx, edi
call fcn.00567880
jmp 0x56b9fc
mov ecx, edi
call fcn.00567f80
lea esi, [edi + 0xf8]
push esi
push 5
push str.IntervalTime
push 0x5c64ec
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [edi + 0x550], eax
cmp eax, 0xa
jg 0x56ba51
je 0x56ba4a
cmp eax, 5
ja case.0x56ba27.2
jmp dword [eax*4 + 0x56c074]
mov ebx, 0x841c
jmp 0x56bab0
mov ebx, 0x841d
jmp 0x56bab0
mov ebx, 0x841e
jmp 0x56bab0
mov ebx, 0x841f
jmp 0x56bab0
mov ebx, 0x8420
jmp 0x56bab0
cmp eax, 0xb4
jg 0x56ba79
je 0x56ba72
cmp eax, 0x1e
je 0x56ba6b
cmp eax, 0x3c
jne case.0x56ba27.2
mov ebx, 0x8422
jmp 0x56bab0
mov ebx, 0x8421
jmp 0x56bab0
mov ebx, 0x8423
jmp 0x56bab0
cmp eax, 0x12c
je 0x56baab
cmp eax, 0x258
je 0x56baa4
push esi
push 0x5c64fc
push 0x5c6500
push 0x5c651c
mov ebx, 0x841f
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x56bab0
mov ebx, 0x8425
jmp 0x56bab0
mov ebx, 0x8424
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x6c]
push 0
push ebx
mov esi, eax
push 0x8425
push 0x841c
push dword [esi + 4]
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov edx, dword [edi]
mov ecx, edi
push esi
call dword [edx + 0x70]
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_DrawMenuBar]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, edi
call dword [eax + 0x70]
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.STOP_BENCHMARK
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x57
push 0x5c5074
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [edi + 0x580]
mov byte [ebp - 4], 0x58
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.DISK_CAPACITY_ERROR
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x59
push 0x5c50ac
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [edi + 0x574]
mov byte [ebp - 4], 0x5a
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.DISK_CREATE_FILE_ERROR
call fcn.00402550
push ecx
mov byte [ebp - 4], 0x5b
mov ecx, esp
push 0x5c50ec
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [edi + 0x584]
mov byte [ebp - 4], 0x5c
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.DISK_WRITE_ERROR
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x5d
push 0x5c5120
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [edi + 0x578]
mov byte [ebp - 4], 0x5e
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.DISK_READ_ERROR
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x5f
push 0x5c5150
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [edi + 0x57c]
mov byte [ebp - 4], 0x60
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.DISK_SPD_NOT_FOUND
call fcn.00402550
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x61
push str.Message
call fcn.00402550
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x47
push eax
mov ecx, edi
call fcn.00563640
push eax
lea ecx, [edi + 0x588]
mov byte [ebp - 4], 0x62
call fcn.00401f80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x47
call fcn.00402930
mov ecx, edi
call fcn.0056c090
lea eax, [edi + 0xf8]
push eax
push dword [ebp + 8]
push 0x5c5198
push 0x5c51ac
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x1c]
call fcn.00402930
lea ecx, [ebp - 0x14]
call fcn.00402930
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], vtable.CMenu.0
call fcn.004182a7
lea ecx, [ebp - 0x10]
call fcn.00402930
lea ecx, [ebp + 8]
call fcn.00402930
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
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a017
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a06e
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a0c5
mov ecx, edx
call dword [ebp - 0x20]
jmp 0x56a199
mov ecx, edx
call dword [ebp - 0x20]
jmp 0x56a199
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a1de
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a235
mov ecx, edx
call dword [ebp - 0x20]
jmp 0x56a312
mov ecx, edx
call dword [ebp - 0x20]
jmp 0x56a312
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a357
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a3ae
mov ecx, edx
call dword [ebp - 0x24]
jmp 0x56a48b
mov ecx, edx
call dword [ebp - 0x24]
jmp 0x56a48b
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a4d0
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a527
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56a604
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56a604
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a649
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a6a0
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56a77d
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56a77d
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a7c2
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a819
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56a8f6
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56a8f6
mov ecx, edx
call dword [ebp - 0x24]
jmp 0x56a9b9
mov ecx, edx
call dword [ebp - 0x24]
jmp 0x56a9b9
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56a9ed
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56aa44
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56ab32
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56ab32
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56ab85
mov ecx, edx
call dword [ebp - 0x28]
jmp 0x56ab85
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56abd2
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56ac29
mov ecx, edx
call dword [ebp - 0x2c]
jmp 0x56ad17
mov ecx, edx
call dword [ebp - 0x2c]
jmp 0x56ad17
mov ecx, edx
call dword [ebp - 0x2c]
jmp 0x56ad6a
mov ecx, edx
call dword [ebp - 0x2c]
jmp 0x56ad6a
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56adb7
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56ae0e
mov ecx, edx
call dword [ebp - 0x2c]
jmp 0x56aefc
mov ecx, edx
call dword [ebp - 0x2c]
jmp 0x56aefc
mov ecx, edx
call ebx
jmp 0x56af41
push 0x80004005
call fcn.00402ab0
call edx
jmp 0x56af90