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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x218
push ebp
push esi
mov esi, ecx
mov ecx, eax
shr eax, 0x10
and ecx, 0xffff
mov dword [esi + 0x778], eax
mov edx, eax
lea ebp, [esi + 0x290]
mov eax, ecx
mov dword [esi + 0x774], ecx
push edx
push eax
mov ecx, ebp
call fcn.00418600
test eax, eax
je 0x459a29
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov al, byte [esi + 0x930]
push edi
test al, al
jne 0x459c84
mov eax, dword [esi + 0x778]
mov edx, dword [esi + 0x9e8]
lea ecx, [esi + 0x9e8]
push eax
mov eax, dword [esi + 0x774]
push eax
call dword [edx + 0x10]
test eax, eax
je 0x459b16
xor eax, eax
lea ecx, [esi + 0xcb8]
cmp dword [ecx], 0
je 0x459aac
inc eax
add ecx, 0x40
cmp eax, 2
jl 0x459a65
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1c]
push ecx
push 0x322
mov ecx, esi
call fcn.00403ad0
push 0xffff
push 0x96
push 0x8c
lea edx, [esp + 0x28]
push 0
push edx
jmp 0x45a06a
mov ecx, 0x8ab130
call fcn.0045b3d0
mov ecx, dword [esi + 0x113c]
push 1
push 0
push ecx
push 0
push 0
mov byte [esi + 0x930], 1
mov dword [esi + 0x1160], 0
call fcn.0045b900
mov edx, dword [0x9135c0]
mov eax, dword [0x8ab7b8]
add esp, 0x14
add esi, 0x780
mov ecx, esi
push 0
push 0
push str..DataCreateChr.dat
push edx
push eax
call fcn.0045bf30
mov ecx, esi
call fcn.0045c4c0
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov edx, dword [esi + 0x778]
mov eax, dword [esi + 0xb50]
lea ecx, [esi + 0xb50]
push edx
mov edx, dword [esi + 0x774]
push edx
call dword [eax + 0x10]
test eax, eax
je 0x459ba3
mov eax, dword [esi + 0x1168]
cmp eax, 0xffffffff
je 0x459b6a
cmp eax, 2
jge 0x459b6a
shl eax, 6
mov ecx, 0x8ab828
lea eax, [eax + esi + 0xcbf]
push eax
call fcn.00452070
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1c]
push ecx
push 0x44c
mov ecx, esi
call fcn.00403ad0
push 0xffff
push 0x96
push 0x8c
lea edx, [esp + 0x28]
push 0
push edx
jmp 0x45a06a
mov edx, dword [esi + 0x778]
mov eax, dword [esi + 0xc04]
lea ecx, [esi + 0xc04]
push edx
mov edx, dword [esi + 0x774]
push edx
call dword [eax + 0x10]
test eax, eax
je 0x459be4
mov eax, dword [0x8ab7b0]
push 0
push 0
push 2
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov eax, dword [esi + 0x778]
mov edx, dword [esi + 0xa9c]
lea ecx, [esi + 0xa9c]
push eax
mov eax, dword [esi + 0x774]
push eax
call dword [edx + 0x10]
test eax, eax
je 0x45a079
mov eax, dword [esi + 0x1168]
mov ecx, 0x41
cmp eax, 0xffffffff
je 0x459c51
xor eax, eax
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1c]
push ecx
push 0x385
mov ecx, esi
call fcn.00403ad0
push 0xffff
push 0x96
push 0x8c
lea edx, [esp + 0x28]
push 0
push edx
push 1
push 1
jmp 0x45a06e
xor eax, eax
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
push 0x384
call fcn.00403ad0
push 0xffff
push 0x96
push 0x8c
push 0
lea ecx, [esp + 0x2c]
jmp 0x45a069
cmp al, 2
jne 0x45a079
push 0x1a3
push 0x173
push 0x194
lea edx, [esp + 0x18]
push 0x126
push edx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esi + 0x778]
mov ecx, dword [esi + 0x774]
push eax
lea edx, [esp + 0x10]
push ecx
push edx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x459d1d
mov eax, dword [0x8aa48c]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [0x8ab7f4]
mov edx, dword [0x8ab7f0]
mov eax, dword [0x8aa48c]
push 1
push 0xd
add ecx, 0x195
push 0x4b
add edx, 0x120
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [0x8aa48c]
push 5
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov eax, dword [esi + 0x778]
mov edx, dword [esi + 0x1008]
lea ecx, [esi + 0x1008]
push eax
mov eax, dword [esi + 0x774]
push eax
call dword [edx + 0x10]
test eax, eax
je 0x459d8d
mov ecx, 0x8ab130
call fcn.0045b3d0
mov byte [esi + 0x930], 3
mov dword [esi + 0x1160], 0
mov ecx, dword [0x8ab7b0]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov edx, dword [0x8aa48c]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, 0x8ab828
call fcn.00451f90
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov edx, dword [esi + 0x778]
mov eax, dword [esi + 0xd38]
lea ecx, [esi + 0xd38]
push edx
mov edx, dword [esi + 0x774]
push edx
call dword [eax + 0x10]
test eax, eax
je 0x459e19
push 0
push 0
push 0
lea eax, [esi + 0x10bc]
push 0
push eax
mov ecx, esi
call fcn.00458440
push 4
push 0
mov ecx, esi
call fcn.00458b20
push 0
push 0
push 0
lea ecx, [esi + 0x10fc]
push 1
push ecx
mov ecx, esi
call fcn.00458440
push 4
push 1
mov ecx, esi
call fcn.00458b20
mov eax, dword [esi + 0x1488]
cmp eax, 0xffffffff
je 0x45a079
mov dl, al
push 0
push edx
mov ecx, esi
call fcn.004584c0
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov edx, dword [esi + 0x778]
mov eax, dword [esi + 0xdec]
lea ecx, [esi + 0xdec]
push edx
mov edx, dword [esi + 0x774]
push edx
call dword [eax + 0x10]
test eax, eax
je 0x459ea5
push 0
push 0
push 1
lea eax, [esi + 0x10bc]
push 0
push eax
mov ecx, esi
call fcn.00458440
push 4
push 0
mov ecx, esi
call fcn.00458b20
push 0
push 0
push 1
lea ecx, [esi + 0x10fc]
push 1
push ecx
mov ecx, esi
call fcn.00458440
push 4
push 1
mov ecx, esi
call fcn.00458b20
mov eax, dword [esi + 0x1488]
cmp eax, 0xffffffff
je 0x45a079
mov dl, al
push 1
push edx
mov ecx, esi
call fcn.004584c0
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov edx, dword [esi + 0x778]
mov eax, dword [esi + 0xea0]
lea ecx, [esi + 0xea0]
push edx
mov edx, dword [esi + 0x774]
push edx
call dword [eax + 0x10]
test eax, eax
je 0x459f31
push 0
push 0
push 2
lea eax, [esi + 0x10bc]
push 0
push eax
mov ecx, esi
call fcn.00458440
push 4
push 0
mov ecx, esi
call fcn.00458b20
push 0
push 0
push 2
lea ecx, [esi + 0x10fc]
push 1
push ecx
mov ecx, esi
call fcn.00458440
push 4
push 1
mov ecx, esi
call fcn.00458b20
mov eax, dword [esi + 0x1488]
cmp eax, 0xffffffff
je 0x45a079
mov dl, al
push 2
push edx
mov ecx, esi
call fcn.004584c0
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov edx, dword [esi + 0x778]
mov eax, dword [esi + 0xf54]
lea ecx, [esi + 0xf54]
push edx
mov edx, dword [esi + 0x774]
push edx
call dword [eax + 0x10]
test eax, eax
je 0x45a079
mov eax, dword [esi + 0x1488]
cmp eax, 0xffffffff
je 0x45a079
cmp eax, 2
jge 0x45a079
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x1c]
push 0x104
rep stosd dword es:[edi], eax
mov ecx, dword [0x8aa48c]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov edx, dword [0x8aa48c]
push 0x8b187c
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov al, byte [esp + 0x1c]
test al, al
je 0x45a079
lea edi, [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xe
jle 0x459fdd
push 0xffff
push 0x96
push 0x8c
push eax
push 0x47d848
jmp 0x45a06a
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.004589b0
test eax, eax
je 0x45a02d
mov eax, dword [esi + 0x1488]
xor edx, edx
mov ecx, eax
add eax, 0x43
shl ecx, 6
shl eax, 6
mov dl, byte [ecx + esi + 0x10c1]
xor ecx, ecx
mov cl, byte [eax + esi]
push edx
push ecx
lea edx, [esp + 0x24]
push 1
push edx
mov ecx, 0x8ab828
call fcn.00451fe0
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x120]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x120]
mov ecx, esi
push eax
push 0x321
call fcn.00403ad0
push 0xffff
push 0x96
push 0x8c
push 0
lea ecx, [esp + 0x130]
push ecx
push 0
push 0
add esi, 8
mov ecx, ebp
push esi
call fcn.00418030
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x218
ret 8