Function at 0x406530
Capabilities:
Get graphical window text
Read .ini file

Disassembly:
mov eax, dword [esp + 8]
push ebx
push esi
push edi
test eax, eax
mov esi, ecx
jne 0x406a4a
mov ecx, dword [0x425268]
push 0
push 0x140
push 0x1f4
push 0x78
push 0x64
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425248]
push 0
push 0x46
push 0x3c
push 0x90
push 0x208
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x42523c]
push 0
push 0xc
push 0x46
push 0x8c
push 0x78
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425238]
push 0
push 0xc
push 0x46
push 0xa0
push 0x78
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425234]
push 0
push 0xc
push 0x46
push 0xb4
push 0x78
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425230]
push 0
push 0xc
push 0x46
push 0xc8
push 0x78
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x42522c]
push 0
push 0xc
push 0x46
push 0xdc
push 0x78
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425214]
push 0
push 0xc
push 0x46
push 0xdc
push 0xc8
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425244]
push 0
push 0xd
push 0x5d
push 0xdc
push 0x12c
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425240]
push 0
push 0xf
push 0x50
push 0xdc
push 0x1a4
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
push 0
mov ecx, dword [0x425264]
push 0xd
push 0x5d
push 0x8c
push 0x12c
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425260]
push 0
push 0xd
push 0x5d
push 0xa0
push 0x12c
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x42525c]
push 0
push 0xd
push 0x5d
push 0xb4
push 0x12c
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425258]
push 0
push 0xd
push 0x5d
push 0xc8
push 0x12c
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425254]
push 0
push 0x14
push 0x50
push 0xc3
push 0x1a4
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425250]
push 0
push 0x14
push 0x50
push 0xaa
push 0x1a4
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x42524c]
push 0
push 0x14
push 0x50
push 0x8e
push 0x1a4
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425228]
push 0
push 0xc
push 0x46
push 0x8c
push 0xc8
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425224]
push 0
push 0xc
push 0x46
push 0xa0
push 0xc8
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425220]
push 0
push 0xc
push 0x46
push 0xb4
push 0xc8
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
push 0
push 0xc
mov ecx, dword [0x42521c]
push 0x46
push 0xc8
push 0xc8
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [0x425218]
push 0
push 0xb4
push 0x1ca
push 0xf0
push 0x79
push 0
call sub.MFC42.DLL_CWnd::SetWindowPos
mov ecx, dword [esi + 0x74]
xor eax, eax
add ecx, 0xc28
xor edx, edx
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov word [ecx + 8], ax
mov eax, dword [esi + 0x74]
add eax, 0xc32
xor ecx, ecx
mov dword [eax], edx
mov dword [eax + 4], edx
mov word [eax + 8], dx
mov edx, dword [esi + 0x74]
add edx, 0xc3c
mov dword [edx], ecx
mov dword [edx + 4], ecx
push ecx
push 1
mov word [edx + 8], cx
mov eax, dword [0x425264]
push 0xf1
mov ecx, dword [eax + 0x20]
push ecx
call edi
mov edx, dword [0x425260]
push 0
push 1
push 0xf1
mov eax, dword [edx + 0x20]
push eax
call edi
mov edi, dword [esp + 0x10]
mov ecx, dword [esi + 0x74]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edi
add ecx, 0xc28
push 0xa
push ecx
push 0
push str.Speed
push str.GameSpeed
call ebx
mov edx, dword [esi + 0x74]
mov ecx, dword [0x42521c]
add edx, 0xc28
push edx
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov ecx, dword [esi + 0x74]
xor eax, eax
add ecx, 0xc28
push edi
push 0xa
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov word [ecx + 8], ax
mov edx, dword [esi + 0x74]
add edx, 0xc28
push edx
push eax
push str.Name0
push str.Role
call ebx
mov eax, dword [esi + 0x74]
push edi
push 0xa
add eax, 0xc32
push eax
push 0
push str.Name1
push str.Role
call ebx
mov ecx, dword [esi + 0x74]
push edi
add ecx, 0xc3c
push 0xa
push ecx
push 0
push str.Name2
push str.Role
call ebx
mov edx, dword [esi + 0x74]
mov ecx, dword [0x425228]
add edx, 0xc28
push edx
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov eax, dword [esi + 0x74]
mov ecx, dword [0x425224]
add eax, 0xc32
push eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov ecx, dword [esi + 0x74]
add ecx, 0xc3c
push ecx
mov ecx, dword [0x425220]
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov ecx, dword [0x425218]
push str._______
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov ecx, dword [0x425268]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425230]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x42523c]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425238]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425234]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425228]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425224]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425220]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x42521c]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425264]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425260]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x42525c]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425258]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425240]
push 0
call sub.MFC42.DLL_CWnd::EnableWindow
mov ecx, dword [0x425258]
push 0
call sub.MFC42.DLL_CWnd::EnableWindow
mov ecx, dword [0x425254]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425250]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x42524c]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425248]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425218]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425244]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425240]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x42522c]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
mov ecx, dword [0x425214]
push 5
call sub.MFC42.DLL_CWnd::ShowWindow
pop edi
pop esi
mov eax, 1
pop ebx
ret 8
push ebp
push 2
call sub.MFC42.DLL_operatornew
mov edi, dword [esp + 0x18]
add esp, 4
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ebp, eax
push edi
push 2
push ebp
push 0
push 0x424298
push str.TopShow
call ebx
mov al, byte [ebp]
push 0
cmp al, 0x31
jne 0x406aa1
mov edx, dword [0x42525c]
push 1
push 0xf1
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
jmp 0x406ac4
mov edx, dword [0x42525c]
push 0
push 0xf1
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
mov ecx, dword [esi + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [esi + 0x74]
push edi
add edx, 0xc28
push 0xa
push edx
push 0
push str.Speed
push str.GameSpeed
call ebx
mov eax, dword [esi + 0x74]
mov ecx, dword [0x42521c]
add eax, 0xc28
push eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov ecx, dword [esi + 0x74]
add ecx, 0xc28
push ecx
call dword [sym.imp.MSVCRT.dll_atoi]
mov edx, dword [esi + 0x74]
add esp, 4
mov dword [edx + 0x308], eax
mov ecx, dword [esi + 0x74]
mov eax, dword [ecx + 0x308]
test eax, eax
jl 0x406b2d
cmp eax, 0x320
jle 0x406b37
mov dword [ecx + 0x308], 0x1f4
mov ecx, dword [esi + 0x74]
xor eax, eax
add ecx, 0xc28
push edi
push 0xa
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov word [ecx + 8], ax
mov edx, dword [esi + 0x74]
add edx, 0xc28
push edx
push eax
push str.Name0
push str.Role
call ebx
mov eax, dword [esi + 0x74]
push edi
add eax, 0xc32
push 0xa
push eax
push 0
push str.Name1
push str.Role
call ebx
mov ecx, dword [esi + 0x74]
push edi
add ecx, 0xc3c
push 0xa
push ecx
push 0
push str.Name2
push str.Role
call ebx
mov edx, dword [esi + 0x74]
mov ecx, dword [0x425228]
add edx, 0xc28
push edx
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov eax, dword [esi + 0x74]
mov ecx, dword [0x425224]
add eax, 0xc32
push eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov ecx, dword [esi + 0x74]
add ecx, 0xc3c
push ecx
mov ecx, dword [0x425220]
call sub.MFC42.DLL_CWnd::SetWindowTextA
push edi
push 2
push ebp
push 0
push str.music
push str.MusicMode
call ebx
mov al, byte [ebp]
mov edx, dword [esi + 0x74]
cmp al, 0x31
jne 0x406c01
push 0
mov dword [edx + 0x30], 1
push 1
jmp 0x406c0c
push 0
mov dword [edx + 0x30], 0
push 0
mov eax, dword [0x425260]
push 0xf1
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
push 2
push ebp
push 0
push str.Mode
push str.PutMode
call ebx
mov al, byte [ebp]
mov edx, dword [esi + 0x74]
cmp al, 0x31
jne 0x406c4c
push 0
mov dword [edx + 0x310], 0
push 1
jmp 0x406c5a
push 0
mov dword [edx + 0x310], 1
push 0
mov eax, dword [0x425264]
push 0xf1
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
push 2
push ebp
push 0
push str.mode
push str.RandDZ
call ebx
mov al, byte [ebp]
mov edx, dword [esi + 0x74]
cmp al, 0x31
jne 0x406c97
push 0
mov dword [edx + 4], 1
push 1
jmp 0x406ca2
push 0
mov dword [edx + 4], 0
push 0
mov eax, dword [0x425244]
push 0xf1
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
ret 8