Function at 0x1009064
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3c8
mov eax, dword [0x100c010]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
push dword [0x100c090]
mov dword [ebp - 0x338], esi
mov dword [ebp - 0x350], ebx
mov dword [ebp - 0x340], ebx
mov dword [ebp - 0x344], ebx
mov dword [ebp - 0x34c], ebx
mov dword [ebp - 0x33c], ebx
mov dword [0x100de34], ebx
mov dword [0x100de38], ebx
call dword [sym.imp.USER32.dll_SetCursor]
push esi
call fcn.0100882e
mov esi, 0x100d7e0
push esi
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x104
push 0x100cd60
push ebx
push esi
push 2
mov edi, 0x400
push edi
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
push 0x104
push 0x100cf68
push ebx
push esi
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
mov eax, dword [0x100d7d0]
imul eax, dword [0x100c004]
push 0x17
pop ecx
mov esi, 0x100c200
lea edi, [ebp - 0x334]
rep movsd dword es:[edi], dword [esi]
cdq
mov ecx, 0xfffffd30
idiv ecx
push 8
push dword [ebp - 0x338]
mov dword [ebp - 0x330], ebx
mov ebx, dword [sym.imp.GDI32.dll_SetMapMode]
mov dword [ebp - 0x334], eax
call ebx
push 0
push dword [0x100d7c8]
push dword [0x100d7cc]
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
push 0
push dword [0x100c158]
push dword [0x100c154]
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
mov eax, 0x100de20
mov edi, eax
mov esi, 0x100c16c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 2
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp - 0x338]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.GDI32.dll_LPtoDP]
push 1
push dword [ebp - 0x338]
call ebx
mov edi, dword [sym.imp.GDI32.dll_CreateFontIndirectW]
lea eax, [ebp - 0x334]
push eax
call edi
mov dword [ebp - 0x348], eax
xor esi, esi
cmp eax, esi
je 0x10096a0
push eax
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x340], eax
cmp eax, esi
je 0x10096a0
push 1
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_SetBkMode]
mov ebx, dword [sym.imp.GDI32.dll_GetTextMetricsW]
lea eax, [ebp - 0x3c8]
push eax
push dword [ebp - 0x338]
call ebx
test eax, eax
je 0x10096a0
test byte [ebp - 0x391], 6
jne 0x100927c
push dword [ebp - 0x340]
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0x40
lea eax, [ebp - 0x318]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x334]
push eax
call edi
mov dword [ebp - 0x348], eax
cmp eax, esi
je 0x10096a0
push eax
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x340], eax
cmp eax, esi
je 0x10096a0
lea eax, [ebp - 0x3c8]
push eax
push dword [ebp - 0x338]
call ebx
test eax, eax
je 0x10096a0
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 0x3b8]
mov edx, dword [0x100de20]
add ecx, eax
mov eax, dword [ebp - 0x3b4]
shl eax, 3
mov dword [0x100de3c], eax
mov eax, dword [0x100d7c4]
sub edx, eax
cmp edx, esi
mov dword [0x100de30], ecx
mov dword [0x100d7b4], edx
jg 0x10092bb
mov dword [0x100d7b4], esi
mov edx, dword [0x100d7d8]
sub edx, dword [0x100d7cc]
add edx, dword [0x100de28]
add eax, edx
cmp eax, esi
mov dword [0x100d7b0], eax
jg 0x10092de
mov dword [0x100d7b0], esi
mov eax, dword [0x100de24]
mov edx, dword [0x100d7c0]
sub eax, edx
cmp eax, esi
mov dword [0x100d7bc], eax
jg 0x10092fa
mov dword [0x100d7bc], esi
mov eax, dword [0x100d7d4]
mov edi, eax
sub edi, dword [0x100d7c8]
add edi, dword [0x100de2c]
add edx, edi
cmp edx, esi
mov dword [0x100d7b8], edx
jg 0x100931f
mov dword [0x100d7b8], esi
sub eax, dword [0x100d7b8]
sub eax, dword [0x100d7bc]
cdq
idiv ecx
cmp word [0x100c740], si
je 0x1009338
dec eax
cmp word [0x100c790], si
je 0x1009342
dec eax
cmp eax, esi
jle 0x100967f
push 0x10087c5
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_SetAbortProc]
mov edi, eax
cmp edi, esi
jl 0x1009601
push esi
push esi
push 0xbd
push dword [0x100c028]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x350], eax
cmp eax, esi
je 0x10096a0
push eax
call dword [sym.imp.KERNEL32.dll_LocalLock]
mov dword [ebp - 0x33c], eax
cmp eax, esi
je 0x10096a0
push 0x104
lea eax, [ebp - 0x2d8]
push eax
push dword [0x100c020]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push esi
push dword [0x100c020]
call dword [sym.imp.USER32.dll_EnableWindow]
push esi
push 0x1008aba
push dword [0x100c020]
push 0xb
push dword [0x100c08c]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [0x100de38], eax
cmp eax, esi
je 0x10096a0
push 0x14
xor ebx, ebx
pop esi
lea eax, [ebp - 0x2d8]
push ebx
mov dword [ebp - 0x378], esi
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x370], ebx
mov dword [ebp - 0x36c], ebx
mov dword [ebp - 0x368], ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x378]
push eax
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_StartDocW]
test eax, eax
jg 0x100943b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x10095ff
xor eax, eax
inc eax
mov dword [ebp - 0x34c], eax
mov dword [0x100d7ac], eax
xor eax, eax
lea edi, [ebp - 0x364]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov ecx, dword [0x100de30]
stosd dword es:[edi], eax
mov eax, dword [0x100d7b4]
mov dword [ebp - 0x364], eax
mov eax, dword [0x100d7d8]
sub eax, dword [0x100d7b0]
mov dword [ebp - 0x354], ebx
mov dword [ebp - 0x35c], eax
mov eax, dword [0x100d7bc]
mov dword [ebp - 0x360], eax
mov eax, dword [0x100d7d4]
sub eax, dword [0x100d7b8]
mov dword [ebp - 0x344], ebx
mov dword [ebp - 0x358], eax
cmp word [0x100c740], bx
je 0x10094ae
add dword [ebp - 0x360], ecx
cmp word [0x100c790], bx
je 0x10094bf
sub eax, ecx
mov dword [ebp - 0x358], eax
push dword [ebp - 0x33c]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0xffffffffffffffec
push dword [0x100c028]
mov ebx, eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x2000
je 0x10095f0
mov dword [ebp - 0x354], 0x20002
jmp 0x10095f0
test ebx, ebx
jle 0x10095fd
push dword [0x100d7ac]
lea eax, [ebp - 0xd0]
push dword [0x100c344]
push 0x65
push eax
call fcn.010017e5
add esp, 0x10
lea eax, [ebp - 0xd0]
push eax
push 0x15
push dword [0x100de38]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0
push dword [ebp - 0x338]
call fcn.01008f49
push dword [ebp - 0x338]
xor eax, eax
lea edi, [ebp - 0x38c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [0x100de3c]
mov dword [ebp - 0x38c], esi
mov dword [ebp - 0x388], eax
call dword [sym.imp.GDI32.dll_StartPage]
test eax, eax
jle 0x100942e
lea eax, [ebp - 0x38c]
push eax
mov eax, dword [ebp - 0x354]
or eax, 0x2850
push eax
lea eax, [ebp - 0x364]
push eax
push ebx
push dword [ebp - 0x33c]
xor edi, edi
push dword [ebp - 0x338]
inc edi
mov dword [ebp - 0x344], edi
call dword [sym.imp.USER32.dll_DrawTextExW]
push edi
push dword [ebp - 0x338]
call fcn.01008f49
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_EndPage]
test eax, eax
jle 0x100942e
and dword [ebp - 0x344], 0
mov eax, dword [ebp - 0x37c]
inc dword [0x100d7ac]
test eax, eax
je 0x100967d
mov ecx, dword [ebp - 0x33c]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x33c], ecx
sub ebx, eax
cmp dword [0x100de34], 0
je 0x10094f5
xor edi, edi
xor esi, esi
cmp dword [ebp - 0x340], esi
je 0x1009627
push dword [ebp - 0x340]
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x348]
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [ebp - 0x33c], esi
je 0x100963b
push dword [ebp - 0x350]
call dword [sym.imp.KERNEL32.dll_LocalUnlock]
cmp dword [ebp - 0x344], esi
je 0x100965f
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_EndPage]
test eax, eax
jg 0x100965f
cmp edi, esi
jne 0x100965f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp dword [ebp - 0x34c], esi
je 0x10096c3
push dword [ebp - 0x338]
cmp dword [0x100de34], esi
je 0x10096ad
call dword [sym.imp.GDI32.dll_AbortDoc]
jmp 0x10096c3
xor esi, esi
push 0x30
push dword [0x100c2d0]
push dword [0x100c324]
push dword [0x100c020]
call dword [sym.imp.USER32.dll_MessageBoxW]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x1009601
call dword [sym.imp.GDI32.dll_EndDoc]
test eax, eax
jg 0x10096c3
cmp edi, esi
jne 0x10096c3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push dword [ebp - 0x338]
call dword [sym.imp.GDI32.dll_DeleteDC]
call fcn.0100888f
push dword [0x100c094]
call dword [sym.imp.USER32.dll_SetCursor]
cmp dword [0x100de34], esi
jne 0x10096ec
mov eax, edi
jmp 0x10096ef
push 0xfffffffffffffffd
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01001568
leave
ret 4