Function at 0x45a080
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x5512ec]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
lea eax, [ebp - 0x118]
push eax
mov ebx, ecx
push 0x3ec
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x118]
push eax
push ebx
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x110]
sub eax, dword [0x5a095c]
sub eax, dword [ebp - 0x118]
push 0x3ec
push ebx
mov dword [0x59f998], eax
call edi
mov edx, str.Super_Floppy_Disk
mov ecx, eax
call fcn.00452f10
cmp dword [0x59f998], eax
jg 0x45a112
push 0x3ec
push ebx
call edi
mov edx, str.Super_Floppy_Disk
mov ecx, eax
call fcn.00452f10
mov dword [0x59f998], eax
mov ecx, 0x200
mov dword [ebp - 0x120], 0x11
mov edx, 0xbd2
nop word [eax + eax]
cmp ecx, 0x2000
lea eax, [edx + 1]
mov esi, ecx
cmovbe eax, edx
shr esi, 0xa
cmp ecx, 0x2000
mov dword [ebp - 0x124], eax
push eax
cmovbe esi, ecx
mov dword [ebp - 0x11c], esi
call fcn.0041e970
add esp, 4
push eax
push esi
push str._d__s
lea eax, [ebp - 0x108]
push 0x40
push eax
call fcn.004050d0
add esp, 0x14
mov byte [ebp - 0xc9], 0
lea eax, [ebp - 0x108]
push eax
push 0xbd6
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3ed
push ebx
call edi
mov edx, esi
mov ecx, eax
call fcn.00452f10
cmp dword [0x59f998], eax
jg 0x45a1d9
lea eax, [ebp - 0x108]
push eax
push 0xbd6
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3ed
push ebx
call edi
mov edx, esi
mov ecx, eax
call fcn.00452f10
mov dword [0x59f998], eax
sub dword [ebp - 0x120], 1
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x124]
lea ecx, [eax + eax]
jne 0x45a130
mov edi, 0xbd7
nop word [eax + eax]
push edi
call fcn.0041e970
add esp, 4
mov esi, eax
push 0x3f9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edx, esi
mov ecx, eax
call fcn.00452f10
cmp dword [0x59f998], eax
jg 0x45a24d
push edi
call fcn.0041e970
add esp, 4
mov esi, eax
push 0x3f9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edx, esi
mov ecx, eax
call fcn.00452f10
mov dword [0x59f998], eax
inc edi
cmp edi, 0xbd9
jbe 0x45a200
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, 1
cmp esi, 1
jne 0x45a276
push esi
push 0xbda
call fcn.0041e970
add esp, 8
jmp 0x45a2b4
cmp esi, 2
jne 0x45a282
mov eax, 0x52ad5a
jmp 0x45a296
push dword [esi*4 + 0x5275c4]
push 0xc0f
call fcn.0041e970
add esp, 8
push eax
xor eax, eax
cmp esi, 2
setne al
lea eax, [eax*2 + 2]
push eax
push 0xbdb
call fcn.0041e970
add esp, 0xc
push 0x3f9
push ebx
mov dword [ebp - 0x11c], eax
call edi
mov edx, dword [ebp - 0x11c]
mov ecx, eax
call fcn.00452f10
cmp dword [0x59f998], eax
jg 0x45a2f1
push 0x3f9
push ebx
call edi
mov edx, dword [ebp - 0x11c]
mov ecx, eax
call fcn.00452f10
mov dword [0x59f998], eax
inc esi
cmp esi, 5
jbe 0x45a261
push 0x3f8
push ebx
call edi
push eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
je 0x45a3b7
push 0
push 0
push 0x31
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x45a3b7
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [ebp - 0x128], eax
test eax, eax
jle 0x45a3b7
inc eax
push 2
push eax
mov dword [ebp - 0x124], eax
call fcn.004b6706
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
je 0x45a3b9
push dword [ebp - 0x124]
push eax
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jle 0x45a3af
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0x128]
push dword [ebp - 0x120]
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [ebp - 0x120]
jmp 0x45a3b9
xor eax, eax
push eax
call fcn.004d1211
add esp, 4
cmp esi, 0xffffffff
je 0x45a3d8
test esi, esi
je 0x45a3d8
push esi
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp - 0x130]
sub eax, dword [0x59f784]
cmp dword [0x59f998], eax
jg 0x45a4de
push 0x3f8
push ebx
call edi
push eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
je 0x45a4ac
push 0
push 0
push 0x31
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x45a4ac
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [ebp - 0x124], eax
test eax, eax
jle 0x45a4ac
inc eax
push 2
push eax
mov dword [ebp - 0x128], eax
call fcn.004b6706
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
je 0x45a4ae
push dword [ebp - 0x128]
push eax
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jle 0x45a4a4
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x120]
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [ebp - 0x120]
jmp 0x45a4ae
xor eax, eax
push eax
call fcn.004d1211
add esp, 4
cmp esi, 0xffffffff
je 0x45a4cd
test esi, esi
je 0x45a4cd
push esi
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp - 0x130]
sub eax, dword [0x59f784]
mov dword [0x59f998], eax
push 0x3f1
push ebx
call edi
push eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
je 0x45a59a
push 0
push 0
push 0x31
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x45a59a
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [ebp - 0x124], eax
test eax, eax
jle 0x45a59a
inc eax
push 2
push eax
mov dword [ebp - 0x128], eax
call fcn.004b6706
add esp, 8
mov dword [ebp - 0x120], eax
test eax, eax
je 0x45a59c
push dword [ebp - 0x128]
push eax
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jle 0x45a592
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x120]
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [ebp - 0x120]
jmp 0x45a59c
xor eax, eax
push eax
call fcn.004d1211
add esp, 4
cmp esi, 0xffffffff
je 0x45a5bb
test esi, esi
je 0x45a5bb
push esi
push dword [ebp - 0x11c]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp - 0x130]
sub eax, dword [0x59f784]
mov ecx, dword [0x59f998]
cmp ecx, eax
jg 0x45a6ab
push 0x3f1
push ebx
call edi
mov ebx, eax
mov dword [ebp - 0x130], 0
push ebx
mov dword [ebp - 0x12c], 0
xor edi, edi
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
je 0x45a669
push edi
push edi
push 0x31
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x45a669
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [ebp - 0x124], eax
test eax, eax
jle 0x45a669
inc eax
push 2
push eax
mov dword [ebp - 0x128], eax
call fcn.004b6706
mov edi, eax
add esp, 8
test edi, edi
je 0x45a669
push dword [ebp - 0x128]
push edi
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jle 0x45a669
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0x124]
push edi
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
push edi
call fcn.004d1211
add esp, 4
cmp esi, 0xffffffff
je 0x45a683
test esi, esi
je 0x45a683
push esi
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp - 0x130]
sub eax, dword [0x59f784]
add eax, dword [0x5a095c]
mov dword [0x59f998], eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8b60
mov esp, ebp
pop ebp
ret
add ecx, dword [0x5a095c]
mov dword [0x59f998], ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a8b60
mov esp, ebp
pop ebp
ret