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

Disassembly:
sub esp, 0x394
push ebx
push ebp
push esi
mov esi, dword [esp + 0x3a8]
cmp esi, 0x41d
push edi
ja 0x1000d6e5
je 0x1000d6bb
cmp esi, 0xf
ja 0x1000d661
je 0x1000d205
mov eax, esi
dec eax
je 0x1000d1b9
dec eax
jne case.default.0x1000d6f4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x394
ret 0x10
mov ebp, dword [esp + 0x3a8]
mov edi, dword [sym.imp.USER32.dll_SetWindowWord]
push 0
push 0
push ebp
call edi
push 0
push 2
push ebp
call edi
push 0x1006161c
push ebp
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
push eax
push ecx
push esi
push ebp
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x394
ret 0x10
mov ebp, dword [esp + 0x3a8]
push ebp
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
lea eax, [esp + 0x10]
push eax
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x30]
push ecx
push edx
call dword [sym.imp.USER32.dll_CopyRect]
push 0xffffffffffffffff
lea ecx, [esp + 0x34]
mov eax, dword [esp + 0x34]
push 0xffffffffffffffff
add eax, 0x21
push ecx
mov dword [esp + 0x44], eax
call dword [sym.imp.USER32.dll_InflateRect]
mov ebx, dword [sym.imp.GDI32.dll_GetStockObject]
push 8
call ebx
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
call edi
push 1
mov dword [esp + 0x30], eax
call ebx
push eax
push esi
call edi
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
push edx
push esi
call dword [sym.imp.GDI32.dll_Rectangle]
push 0
push ebp
call dword [sym.imp.USER32.dll_GetWindowWord]
mov bx, ax
and ebx, 0xffff
mov dword [esp + 0x20], ebx
je 0x1000d2fc
mov eax, dword [0x10060ef0]
push eax
push esi
call edi
push 1
push esi
mov dword [0x10060e20], eax
call dword [sym.imp.GDI32.dll_SetBkMode]
push ebx
lea ecx, [esp + 0x50]
push str._d__
push ecx
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x30]
lea eax, [esp + 0x4c]
push 0x25
push edx
push 0xffffffffffffffff
push eax
push esi
call dword [sym.imp.USER32.dll_DrawTextA]
mov ecx, dword [esp + 0x28]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov edx, dword [0x10060e20]
push edx
push esi
call edi
mov eax, dword [esp + 0x2c]
push eax
push esi
call edi
mov ecx, dword [esp + 0x24]
push ecx
push esi
call edi
push esi
push ebp
call dword [sym.imp.USER32.dll_ReleaseDC]
lea edx, [esp + 0x15c]
push edx
push ebp
call dword [sym.imp.USER32.dll_BeginPaint]
push 1
mov esi, eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
call edi
mov dword [esp + 0x24], eax
mov eax, dword [0x10060ef0]
push eax
push esi
call edi
push 1
push esi
mov dword [0x10060e20], eax
call dword [sym.imp.GDI32.dll_SetBkMode]
push 0x414141
push 1
push 0
mov dword [esp + 0x34], eax
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
push esi
mov dword [esp + 0x48], eax
call edi
push 0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x30], eax
push ecx
push edx
push esi
call dword [sym.imp.GDI32.dll_MoveToEx]
mov ebx, dword [sym.imp.GDI32.dll_LineTo]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push esi
call ebx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
push eax
push esi
call ebx
push 6
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
call edi
push 0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
dec ecx
push ecx
push edx
push esi
call dword [sym.imp.GDI32.dll_MoveToEx]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
dec eax
dec ecx
push eax
push ecx
push esi
call ebx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
dec eax
push edx
push eax
push esi
call ebx
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
add eax, 0x20
cmp ecx, eax
mov dword [esp + 0x10], eax
jge 0x1000d402
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jge 0x1000d412
mov dword [esp + 0x1c], eax
push 8
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
call edi
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
dec eax
push edx
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
push esi
call dword [sym.imp.GDI32.dll_Rectangle]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1000d495
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
sub ecx, ebx
push 0
imul ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, ebx
mov ebx, edx
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
call edi
lea ecx, [ebx - 1]
push ecx
push 2
push ebp
call dword [sym.imp.USER32.dll_SetWindowWord]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc edx
push edx
push ebx
push eax
push ecx
push esi
call dword [sym.imp.GDI32.dll_Rectangle]
lea edx, [esp + 0x58]
push 0x103
push edx
push ebp
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [esp + 0x58]
push eax
call ebx
test eax, eax
je 0x1000d5f5
lea ecx, [esp + 0x58]
push ecx
call ebx
cdq
sub eax, edx
lea edx, [esp + 0x19c]
sar eax, 1
lea ebx, [esp + eax + 0x58]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x44]
mov byte [ebx], 0
push eax
push 3
push 0x10059808
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x10], 0x2a
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], 0
sub ebx, ecx
sub ebx, 0x2e
lea ecx, [esp + 0x58]
lea edx, [esp + 0x2a0]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x19c]
lea ecx, [esp + 0x2a0]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [esp + 0x44]
lea eax, [esp + 0x2a0]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esp + 0x2a4]
push eax
push ecx
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
cmp dword [esp + 0x44], ebx
jbe 0x1000d5b5
lea edx, [esp + 0x19c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 1
jle 0x1000d588
lea eax, [esp + 0x19d]
lea ecx, [esp + 0x19c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esp + 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 1
jle 0x1000d5a8
lea eax, [esp + 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [esp + eax + 0x57], 0
mov dword [esp + 0x20], 1
jmp 0x1000d50d
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1000d5cd
lea ecx, [esp + 0x58]
push 0x10059808
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [esp + 0x19c]
lea eax, [esp + 0x58]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x10]
push 0x24
push ecx
lea edx, [esp + 0x60]
push 0xffffffffffffffff
push edx
push esi
call dword [sym.imp.USER32.dll_DrawTextA]
mov eax, dword [esp + 0x28]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov ecx, dword [0x10060e20]
push ecx
push esi
call edi
mov edx, dword [esp + 0x24]
push edx
push esi
call edi
mov eax, dword [esp + 0x2c]
push eax
push esi
call edi
mov ecx, dword [esp + 0x40]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
lea edx, [esp + 0x15c]
push edx
push ebp
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
mov esi, dword [esp + 0x3ac]
push eax
push ecx
push esi
push ebp
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x394
ret 0x10
cmp esi, 0x41c
jne case.default.0x1000d6f4
mov eax, dword [esp + 0x3b4]
test eax, eax
je 0x1000d6ac
mov esi, dword [esp + 0x3a8]
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea edx, [esp + 0x10]
push edx
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x10]
push 0
add edi, 0x20
push eax
push esi
mov dword [esp + 0x1c], edi
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x394
ret 0x10
mov ecx, dword [esp + 0x3b4]
mov edx, dword [esp + 0x3a8]
push 0x104
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x394
ret 0x10
lea eax, [esi - 0x41e]
cmp eax, 3
ja case.default.0x1000d6f4
jmp dword [eax*4 + 0x1000d860]
mov edi, dword [esp + 0x3b0]
mov esi, dword [esp + 0x3a8]
mov ebx, dword [sym.imp.USER32.dll_GetWindowWord]
test edi, edi
jge 0x1000d717
xor edi, edi
jmp 0x1000d727
cmp edi, 0x64
jle 0x1000d723
mov edi, 0x64
jmp 0x1000d73c
test edi, edi
jne 0x1000d73c
push 0
push esi
call ebx
test ax, ax
je 0x1000d73c
push 1
push 0
push esi
call dword [sym.imp.USER32.dll_InvalidateRect]
push 0
push esi
call ebx
and eax, 0xffff
cmp eax, edi
jne 0x1000d74e
test edi, edi
jne 0x1000d7bc
mov ebp, dword [sym.imp.USER32.dll_SetWindowWord]
push edi
push 0
push esi
call ebp
test edi, edi
jne 0x1000d773
push edi
push 2
push esi
call ebp
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x394
ret 0x10
lea eax, [esp + 0x10]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
push 2
push esi
call ebx
and eax, 0xffff
push 0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
add ecx, 0xffffffe0
mov eax, 0x51eb851f
imul ecx, edi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 0x20]
lea edx, [esp + 0x14]
push edx
push esi
mov dword [esp + 0x24], ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x394
ret 0x10
mov eax, dword [esp + 0x3a8]
push 0
push eax
call dword [sym.imp.USER32.dll_GetWindowWord]
pop edi
pop esi
pop ebp
and eax, 0xffff
pop ebx
add esp, 0x394
ret 0x10
mov esi, dword [esp + 0x3a8]
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_BringWindowToTop]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x394
ret 0x10
mov ecx, dword [esp + 0x3a8]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x394
ret 0x10
mov edx, dword [esp + 0x3b4]
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3a8]
push edx
push eax
push esi
push ecx
call dword [sym.imp.USER32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x394
ret 0x10