Function at 0x46bc64
Capabilities:
Get graphical window text
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov dword [ebp - 4], edi
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], ebx
mov eax, dword [0x440fee0]
test eax, eax
je 0x46bc8a
mov dword [0x440fee0], 0
mov esp, ebp
pop ebp
ret
mov dword [0x440fee0], 1
lea eax, [ebp - 0x20]
push eax
push dword [0x440fee4]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov eax, ebx
sub eax, edx
cmp esi, eax
jle 0x46bcc6
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
sub ebx, esi
sub ebx, edx
xor eax, eax
push eax
push str.STATIC
push eax
push dword [0x440fee4]
call dword [sym.imp.USER32.dll_FindWindowExA]
mov edi, eax
test edi, edi
je 0x46bf6d
push edi
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
test eax, eax
jne 0x46bd12
push 0
push str.STATIC
push edi
push dword [0x440fee4]
call dword [sym.imp.USER32.dll_FindWindowExA]
mov edi, eax
test edi, edi
je 0x46bf6d
lea eax, [ebp - 0x4c]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
jne 0x46bd2e
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x48]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], edx
lea ecx, [ebp - 0x4c]
push 1
push ecx
push dword [0x440fee4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
xor eax, eax
push eax
push eax
push eax
push dword [0x440fee4]
push edx
push ecx
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push 0x50310804
push str.MsgBoxEditControl
push str.EDIT
push 4
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x34], eax
push 0
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
push eax
push eax
push 0x31
push dword [0x440fee4]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push eax
mov eax, dword [ebp - 0x34]
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov dword [ebp - 0x28], eax
push 4
push 0x1000
lea edx, [eax + 1]
mov dword [ebp - 0x3c], edx
push edx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
push eax
push edx
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x46be92
mov eax, dword [ebp - 0x28]
test eax, eax
jle 0x46bf7a
mov edi, eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], esi
xor edx, edx
mov esi, dword [ebp - 0x2c]
xor eax, eax
movsx ecx, byte [eax + esi]
lea ebx, [edx + 1]
cmp ecx, 0xa
jne 0x46be16
mov edx, ebx
add eax, 1
cmp eax, edi
jl 0x46be08
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
push 4
push 0x1000
lea edx, [eax + edx + 1]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edi, eax
mov eax, dword [ebp - 0x28]
test eax, eax
jle 0x46be79
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], esi
xor edx, edx
mov esi, eax
xor eax, eax
movsx ecx, byte [edx + ebx]
cmp ecx, 0xa
jne 0x46be66
mov byte [eax + edi], 0xd
movsx ecx, byte [edx + ebx]
add eax, 1
mov byte [eax + edi], cl
add edx, 1
add eax, 1
cmp edx, esi
jl 0x46be52
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x8000
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push 0x8000
mov eax, dword [ebp - 0x2c]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
push 0x16
sub eax, ebx
push eax
push edx
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push 0
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
xor eax, eax
push eax
push str.BUTTON
push eax
push dword [0x440fee4]
call dword [sym.imp.USER32.dll_FindWindowExA]
mov edi, eax
test edi, edi
je 0x46bf6d
mov dword [ebp - 0x38], esi
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x30]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x46bd21
lea eax, [ebp - 0x30]
push 1
push eax
push dword [0x440fee4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
push 0x15
sub edx, ebx
push esi
push eax
push edx
push dword [ebp - 0x30]
push 0
push edi
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0
push str.BUTTON
push edi
push dword [0x440fee4]
call dword [sym.imp.USER32.dll_FindWindowExA]
mov edi, eax
test edi, edi
jne 0x46bee6
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
push 0x16
sub eax, edx
push esi
push eax
push dword [ebp - 0x1c]
push edx
push 0
push dword [0x440fee4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebp - 0x34]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
xor edx, edx
jmp 0x46be23