Function at 0x412218
Capabilities:
Get graphical window text
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
mov eax, dword [0x46f06c]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push esi
mov esi, dword [0x470d00]
push edi
push 0
mov edi, ecx
push 0xc
mov dword [esp + 0x18], edi
call ebx
push eax
push 0xb
call ebx
mov ebx, dword [sym.imp.USER32.dll_LoadImageW]
push eax
push 1
push 0x83b
push esi
call ebx
push eax
push 1
lea ecx, [edi + 4]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x80
push dword [ecx]
mov dword [esp + 0x28], ecx
call edi
mov esi, dword [0x470d00]
push 0
push 0x32
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 1
push 0x83b
push esi
call ebx
push eax
mov eax, dword [esp + 0x1c]
push 0
push 0x80
push dword [eax]
call edi
cmp dword [0x47045c], 8
mov eax, 0x470448
mov edi, dword [esp + 0x18]
cmovae eax, dword [0x470448]
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_SetWindowTextW]
call fcn.0040cae2
mov ebx, dword [esp + 0x10]
xor ecx, ecx
cmp eax, 7
mov edx, 0x8d6
setge cl
mov dword [esp + 0x1c], ecx
lea esi, [ebx + 0x1a8]
push ecx
mov ecx, dword [0x470cfc]
call fcn.0040cce0
pop ecx
push eax
mov ecx, esi
call fcn.00410e2f
and dword [esp + 0x3c], 0
lea eax, [esp + 0x3c]
and dword [esp + 0x40], 0
mov ecx, esi
push eax
call fcn.00410ded
push 6
push dword [esp + 0x44]
xor eax, eax
push dword [esp + 0x44]
push eax
push eax
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [esp + 0x54]
xorps xmm0, xmm0
push eax
push dword [edi]
movups xmmword [esp + 0x5c], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
push ecx
mov ecx, dword [0x470cfc]
mov edx, 0x8d4
call fcn.0040cce0
mov esi, eax
xor edi, edi
pop ecx
lea eax, [esp + 0x3c]
mov dword [esp + 0x14], esi
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
call fcn.00410ded
mov eax, dword [esp + 0x3c]
push edi
cdq
push 4
push 0x20
push dword [esp + 0x4c]
and edx, 3
add eax, edx
sar eax, 2
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
push edi
push esi
mov dword [ebx + 0x1b0], eax
mov ebx, dword [sym.imp.COMCTL32.dll_ImageList_Add]
push eax
call ebx
push ecx
mov ecx, dword [0x470cfc]
mov edx, 0x8d3
call fcn.0040cce0
pop ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00410e2f
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x18]
call fcn.00410ded
mov eax, dword [esp + 0x3c]
cdq
push 0
and edx, 3
push 4
push 0x20
push dword [esp + 0x4c]
lea edi, [edx + eax]
sar edi, 2
push edi
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [esp + 0x10]
push 0
push dword [esp + 0x18]
push eax
mov dword [ecx + 0x1ac], eax
call ebx
mov eax, dword [esp + 0x18]
push 0x8ce
push dword [eax]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, dword [esp + 0x10]
push eax
lea ecx, [ebx + 0x28]
call fcn.00410d46
mov dword [ebx + 0x4c], 1
lea ecx, [ebx + 0x28]
push dword [ebx + 0x1b0]
call fcn.00410d14
and dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 2
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x58]
sub eax, dword [esp + 0x40]
push 4
push dword [esp + 0x44]
sub eax, 0xd
mov dword [ebx + 0x5c], 1
push edi
push eax
mov eax, dword [esp + 0x6c]
sub eax, dword [esp + 0x64]
sub eax, edi
mov dword [ebx + 0x60], 3
cdq
sub eax, edx
sar eax, 1
push eax
push 0
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x8cc
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edi, [ebx + 0xa8]
push eax
mov ecx, edi
call fcn.00410d46
push ecx
mov ecx, dword [0x470cfc]
mov edx, 0x8d5
call fcn.0040cce0
mov esi, eax
lea eax, [esp + 0x40]
pop ecx
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], esi
call fcn.00410ded
mov eax, dword [esp + 0x3c]
cdq
push 0
and edx, 3
push 4
push 0x20
push dword [esp + 0x4c]
lea ebx, [edx + eax]
sar ebx, 2
push ebx
mov dword [esp + 0x34], ebx
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [esp + 0x10]
push 0
push esi
push eax
mov dword [ecx + 0x1b4], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov esi, dword [esp + 0x10]
mov ecx, edi
mov dword [esi + 0xcc], 1
push dword [esi + 0x1b4]
call fcn.00410d14
and dword [edi + 0x2c], 0
xor eax, eax
push 4
push dword [esp + 0x44]
inc eax
mov dword [edi + 0x30], 2
push ebx
push eax
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x6c]
sub eax, ebx
mov dword [edi + 0x38], 3
dec eax
push eax
push 0
push dword [esi + 0xac]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x8cd
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ebx, [esi + 0x128]
push eax
mov ecx, ebx
call fcn.00410d46
push ecx
mov ecx, dword [0x470cfc]
mov edx, 0x8d7
call fcn.0040cce0
mov esi, eax
lea eax, [esp + 0x40]
pop ecx
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], esi
call fcn.00410ded
mov eax, dword [esp + 0x3c]
cdq
push 0
and edx, 3
push 4
push 0x20
push dword [esp + 0x4c]
lea edi, [edx + eax]
sar edi, 2
push edi
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [esp + 0x10]
push 0
push esi
push eax
mov dword [ecx + 0x1b8], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov eax, dword [esp + 0x10]
mov ecx, ebx
mov dword [eax + 0x14c], 1
push dword [eax + 0x1b8]
call fcn.00410d14
push 4
push dword [esp + 0x44]
xor eax, eax
mov dword [ebx + 0x30], 2
inc eax
mov dword [ebx + 0x38], 3
mov dword [ebx + 0x34], eax
xor esi, esi
push edi
push eax
mov eax, dword [esp + 0x6c]
sub eax, dword [esp + 0x30]
sub eax, edi
mov dword [ebx + 0x2c], esi
mov ebx, dword [esp + 0x20]
dec eax
push eax
push esi
push dword [ebx + 0x12c]
call dword [sym.imp.USER32.dll_SetWindowPos]
cmp dword [esp + 0x1c], esi
mov ecx, str.Tahoma
mov eax, 0x467c9c
cmove eax, ecx
push eax
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0xfffffffffffffff4
mov dword [esp + 0x58], eax
call dword [sym.imp.GDI32.dll_CreateFontW]
push 0x8cb
push dword [ebx + 4]
mov edi, eax
call dword [sym.imp.USER32.dll_GetDlgItem]
lea esi, [ebx + 0x1bc]
push eax
mov ecx, esi
call fcn.0041097b
push 0xffffff
mov ecx, esi
call fcn.0041094b
push edi
mov ecx, esi
call fcn.00410912
push 4
push 0x1e
push 0x64
push 7
push 0xa
xor esi, esi
push esi
push dword [ebx + 0x1c0]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, 0x876
lea ecx, [esp + 0x3c]
call fcn.00409c3f
cmp dword [eax + 0x14], 8
jb 0x4126a2
mov eax, dword [eax]
push eax
push dword [ebx + 0x1c0]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push esi
push 1
lea ecx, [esp + 0x44]
call fcn.0040182a
push dword [esp + 0x20]
cmp dword [esp + 0x20], esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0xfffffffffffffff2
pop eax
push 0xfffffffffffffff0
pop ecx
cmovne eax, ecx
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
push 0x8ca
push dword [ebx + 4]
mov esi, eax
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edi, [ebx + 0x264]
push eax
mov ecx, edi
call fcn.0041097b
push 0x393939
mov ecx, edi
call fcn.0041094b
push esi
mov ecx, edi
call fcn.00410912
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
xor esi, esi
cmp dword [edi + 0x98], esi
je 0x412757
mov dword [edi + 0x98], esi
mov dword [edi + 0x38], 0x190
push dword [edi + 0x24]
call ebx
test eax, eax
je 0x41273a
mov dword [edi + 0x24], esi
lea eax, [edi + 0x28]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push 0x105
push esi
push esi
mov dword [edi + 0x24], eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_RedrawWindow]
push 4
push 0x1e
push 0x1f4
push 0xea
push esi
push esi
mov esi, dword [esp + 0x28]
push dword [esi + 0x268]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x467db8
lea ecx, [esp + 0x90]
call fcn.004017bf
push 0x470460
lea ecx, [esp + 0x78]
call fcn.00409cf9
cmp dword [esp + 0x84], 0
je 0x412803
cmp dword [esp + 0x88], 8
lea edi, [esp + 0x74]
mov edx, 0x875
lea ecx, [esp + 0xa4]
cmovae edi, dword [esp + 0x74]
call fcn.00409c3f
cmp dword [eax + 0x14], 8
jb 0x4127ca
mov eax, dword [eax]
push edi
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0041eb20
add esp, 0xc
lea ecx, [esp + 0x8c]
push eax
call fcn.0040496f
push 0
push 1
lea ecx, [esp + 0x44]
call fcn.0040182a
push 0
push 1
lea ecx, [esp + 0xac]
call fcn.0040182a
cmp dword [esp + 0xa0], 8
lea eax, [esp + 0x8c]
cmovae eax, dword [esp + 0x8c]
push eax
push dword [esi + 0x268]
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [esp + 0x64]
xorps xmm0, xmm0
push eax
push dword [esi + 4]
movups xmmword [esp + 0x6c], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
sub edi, dword [esp + 0x64]
sub eax, dword [esp + 0x68]
inc eax
push eax
lea eax, [edi + 1]
push eax
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov esi, eax
xor ecx, ecx
lea eax, [edi - 1]
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], eax
mov eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + eax*8 + 0x40]
mov edx, dword [esp + eax*8 + 0x3c]
lea eax, [ecx + 1]
push eax
lea eax, [edx + 1]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push 4
mov edi, eax
push edi
push esi
push esi
call dword [sym.imp.GDI32.dll_CombineRgn]
test edi, edi
je 0x4128aa
push edi
call ebx
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, 2
jb 0x41287e
mov eax, dword [esp + 0x18]
push 1
push esi
push dword [eax]
call dword [sym.imp.USER32.dll_SetWindowRgn]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x2c]
push eax
xorps xmm0, xmm0
movups xmmword [esp + 0x30], xmm0
push dword [ecx + 0x268]
call dword [sym.imp.USER32.dll_GetWindowRect]
sub esp, 0x10
lea esi, [esp + 0x3c]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.0040ee68
mov dword [esi + 0x30c], eax
mov esi, dword [esp + 0x18]
push dword [esi]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push ecx
mov ecx, esi
call fcn.0040d27f
xor edi, edi
push edi
push dword [esi]
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
push edi
push 0xb00
push dword [esi]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x41293b
push eax
call ebx
push edi
push 1
lea ecx, [esp + 0x7c]
call fcn.0040182a
push edi
push 1
lea ecx, [esp + 0x94]
call fcn.0040182a
mov eax, dword [esp + 0x24]
test eax, eax
je 0x412961
push eax
call ebx
mov eax, dword [esp + 0x28]
test eax, eax
je 0x41296c
push eax
call ebx
cmp dword [esp + 0x14], edi
je 0x412978
push dword [esp + 0x14]
call ebx
mov ecx, dword [esp + 0xbc]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
inc eax
call fcn.0043223c
mov esp, ebp
pop ebp
ret 8