Function at 0x4d6580
Capabilities:
Terminate process

Disassembly:
sub esp, 0x3e8
push ebx
push esi
push edi
movzx edi, dx
lea eax, [edi - 0x65]
cmp eax, 0x66
mov esi, ecx
ja case.0x4d65a6.141
movzx eax, byte [eax + 0x4d6f0c]
mov ebx, 1
jmp dword [eax*4 + 0x4d6e68]
mov ecx, dword [0x5a1b00]
push 0
push 0
push 0x8054
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
call fcn.004dbf30
mov ecx, eax
call fcn.004de290
test eax, eax
jne 0x4d6e04
xor ecx, ecx
call fcn.0041c8e0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x59b070]
test eax, eax
jne 0x4d6e04
mov edx, dword [esp + 0x3f8]
push 0
mov dword [0x599094], edx
mov dword [0x59bd18], 8
mov dword [0x59bd20], ebx
push 0x4e3980
mov edx, 0x29e
jmp 0x4d67f8
mov eax, dword [0x59b070]
test eax, eax
jne 0x4d6e04
mov eax, dword [esp + 0x3f8]
push 0
mov dword [0x599094], eax
push 0x4e3980
mov edx, 0x29e
jmp 0x4d67f8
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov edx, 0x3e7
lea ecx, [esp + 0xc]
call fcn.0041e210
mov ecx, dword [0x5a1b0c]
call fcn.005366c0
mov esi, eax
cmp dword [esi + 0x700], ebx
jne 0x4d66bb
lea ecx, [esi + 0x26a]
push ecx
lea edx, [esi + 8]
push edx
lea eax, [esp + 0x14]
push 0x5755a8
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov ecx, dword [esi + 0xbb4]
push ecx
mov ecx, dword [0x5a1b00]
lea edx, [esp + 0x10]
push edx
mov edx, 2
call fcn.00426730
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [esp + 0x3f8]
mov ecx, dword [0x5a1b00]
push 0
push eax
push 0x8053
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, dword [esp + 0x3f8]
call fcn.0042ac50
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
xor ecx, ecx
call fcn.0050ced0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, ebx
call fcn.0050ced0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, 2
call fcn.0050ced0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x58de74]
test eax, eax
jne 0x4d6e04
mov ecx, dword [0x5a1b0c]
test ecx, ecx
je 0x4d67bd
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4d67b7
mov edx, dword [0x5a1b0c]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4d67b7
mov ecx, dword [0x5a1b0c]
call fcn.00536a40
test eax, eax
mov ecx, dword [0x5a1b0c]
jne 0x4d67bd
mov esi, ecx
jmp 0x4d67c3
mov ecx, dword [0x5a1b0c]
mov esi, dword [0x5a1b00]
test ecx, ecx
mov eax, dword [esp + 0x3f8]
mov dword [0x599094], eax
je 0x4d67ec
call fcn.00536a40
test eax, eax
jne 0x4d67ec
mov esi, dword [0x5a1b0c]
mov dword [0x599094], 2
push 0
push 0x406740
mov edx, 0x1e
mov ecx, esi
call fcn.00464b70
pop edi
pop esi
mov eax, ebx
mov dword [0x599094], 0
pop ebx
add esp, 0x3e8
ret 4
mov ecx, dword [esp + 0x3f8]
call fcn.00483450
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5998d4]
test eax, eax
jne 0x4d65e5
mov ecx, dword [esp + 0x3f8]
push 0
mov dword [0x599094], ecx
push 0x464df0
mov edx, 0x30c
mov ecx, esi
mov dword [0x5998d4], ebx
call fcn.00464b70
pop edi
pop esi
mov eax, ebx
mov dword [0x599094], 0
mov dword [0x5998d4], 0
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5998d0]
test eax, eax
jne 0x4d65e5
mov eax, dword [0x5942a0]
mov edx, dword [esp + 0x3f8]
mov ecx, dword [0x5a1b0c]
push eax
push 0
push 0
mov dword [0x599094], edx
push 0
xor edx, edx
mov dword [0x5998d0], ebx
call fcn.0050da90
pop edi
pop esi
mov eax, ebx
mov dword [0x599094], 0
mov dword [0x5998d0], 0
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5998cc]
test eax, eax
jne 0x4d65e5
mov ecx, dword [esp + 0x3f8]
push 0
push 0
push 0
push 0
mov dword [0x599094], ecx
mov ecx, dword [0x5a1b0c]
push 0
xor edx, edx
mov dword [0x5998cc], ebx
call fcn.0042d190
pop edi
pop esi
mov eax, ebx
mov dword [0x599094], 0
mov dword [0x5998cc], 0
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x59b070]
test eax, eax
jne 0x4d6e04
push 0
push 0x4e3980
mov edx, 0x29e
mov ecx, esi
mov dword [0x59bd18], 5
mov dword [0x59bd38], ebx
call fcn.00464b70
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
xor ecx, ecx
call fcn.004cdd60
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x598a24]
test eax, eax
jne 0x4d65e5
push 0
push 0x4c71f0
mov edx, 0x263
mov ecx, esi
call fcn.00464b70
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x589b38]
xor edx, edx
test eax, eax
sete dl
mov dword [0x589b38], edx
call fcn.004d5c90
call fcn.004affa0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, dword [0x589c08]
xor eax, eax
test ecx, ecx
sete al
mov dword [0x589c08], eax
call fcn.004d5c90
call fcn.004d5350
call fcn.004affa0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x589bd0]
xor ecx, ecx
test eax, eax
sete cl
mov dword [0x589bd0], ecx
call fcn.004d5c90
call fcn.00525690
call fcn.004d5350
call fcn.00492870
call fcn.004affa0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x589b34]
xor edx, edx
test eax, eax
sete dl
mov dword [0x589b34], edx
call fcn.004d5c90
call fcn.004affa0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5a1b00]
push 0
push 0x9f
push 0x111
push eax
mov dword [0x59bd18], 6
mov dword [0x59bd2c], ebx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5a1b14]
test eax, eax
je 0x4d6af0
cmp eax, dword [0x5a1b0c]
je 0x4d6b16
mov ecx, dword [0x5a1b04]
push ecx
call dword [sym.imp.USER32.dll_GetTopWindow]
mov ecx, dword [0x5a1b14]
cmp eax, ecx
jne 0x4d6af0
push 0
push 0
push 0x10
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, ebx
call fcn.004e1da0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5a1b10]
test eax, eax
je 0x4d6b31
cmp eax, dword [0x5a1b0c]
jne 0x4d6b31
push 0
push 0
push 0x10
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
call fcn.0052f6c0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5998c8]
test eax, eax
jne 0x4d65e5
mov edx, dword [esp + 0x3f8]
push 0
mov dword [0x599094], edx
push 0x4353b0
mov edx, 0xa0
mov ecx, esi
mov dword [0x5998c8], ebx
call fcn.00464b70
pop edi
pop esi
mov eax, ebx
mov dword [0x599094], 0
mov dword [0x5998c8], 0
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5998c4]
test eax, eax
jne 0x4d65e5
mov ecx, dword [0x5a1b0c]
mov dword [0x5998c4], ebx
call fcn.00488820
pop edi
pop esi
mov eax, ebx
mov dword [0x5998c4], 0
pop ebx
add esp, 0x3e8
ret 4
mov ecx, dword [esp + 0x3f8]
call fcn.00492250
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, dword [esp + 0x3f8]
call fcn.00492330
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
call fcn.004923f0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5998c0]
test eax, eax
jne 0x4d65e5
push 0
push 0x468560
mov edx, 0x357
mov ecx, esi
mov dword [0x5998c0], ebx
call fcn.00464b70
pop edi
pop esi
mov eax, ebx
mov dword [0x5998c0], 0
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5a1b0c]
test eax, eax
je 0x4d6e04
push 0
push 0xf060
push 0x112
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5a1b0c]
test eax, eax
je 0x4d6e04
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x4d6cb6
mov eax, dword [0x5a1b0c]
push 9
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, dword [0x5a1b0c]
push 3
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, 0xbe
call fcn.0041cf50
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
xor ecx, ecx
call fcn.0041cf50
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, 2
call fcn.0052e870
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, 3
call fcn.0052e870
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5998bc]
test eax, eax
jne 0x4d65e5
mov edi, dword [esp + 0x3f8]
test edi, edi
mov dword [0x5998bc], ebx
jl 0x4d6d52
cmp edi, ebx
jle 0x4d6d56
xor edi, edi
jmp 0x4d6d93
test edi, edi
je 0x4d6d93
push 0x598350
push 0x3e7
push 0x5990e0
push 0x574b10
mov edx, 0x5756bc
mov ecx, str.about
call fcn.004ac570
push str.flatland
push 0x5990e0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x4d6db7
push edi
push 0x401220
mov edx, 0xa
mov ecx, esi
call fcn.00464b70
cmp eax, 0x7b0
je 0x4d6db3
push 0
call fcn.00565941
test edi, edi
je 0x4d6dbc
call fcn.004d4d00
pop edi
pop esi
mov eax, ebx
mov dword [0x5998bc], 0
pop ebx
add esp, 0x3e8
ret 4
mov eax, dword [0x5998b8]
test eax, eax
jne 0x4d65e5
push 0
push 0x4c2240
mov edx, 0x2c6
mov ecx, esi
mov dword [0x5998b8], ebx
call fcn.00464b70
mov dword [0x5998b8], 0
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x3e8
ret 4
mov ecx, edi
call fcn.004d17b0
test eax, eax
je 0x4d6e2e
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x3e8
ret 4
mov ecx, edi
call fcn.004d3600
test eax, eax
jne 0x4d6e1d
mov ecx, edi
call fcn.004cdef0
test eax, eax
jne 0x4d6e1d
mov ecx, edi
call fcn.004ce180
test eax, eax
jne 0x4d6e1d
mov ecx, edi
call fcn.004d4230
neg eax
pop edi
sbb eax, eax
pop esi
neg eax
pop ebx
add esp, 0x3e8
ret 4