Function at 0x404460
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x508
mov eax, dword [0x4165e0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0x10], 0x401
jb 0x404483
mov dword [ebp + 0x10], 0x400
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x500]
push edx
call fcn.00407580
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov byte [ebp + eax - 0x500], 0
mov ecx, dword [ebp + 0x10]
mov dl, byte [ebp + ecx - 0x500]
mov byte [ebp - 0xf8], dl
mov eax, dword [ebp + 0x10]
mov cl, byte [ebp + eax - 0x500]
mov byte [ebp - 0x6c], cl
push 0xa
lea edx, [ebp - 0x500]
push edx
call fcn.00406dd0
add esp, 8
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x404588
mov eax, dword [ebp - 0x70]
add eax, 1
mov dword [ebp - 0x70], eax
push 4
push str.for
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.00409338
add esp, 0xc
test eax, eax
jne 0x404509
mov edx, dword [ebp - 0x70]
add edx, 4
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x4c], 0
jmp 0x40451b
mov eax, dword [ebp - 0x4c]
add eax, 1
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x70]
add ecx, dword [ebp - 0x4c]
movsx edx, byte [ecx]
cmp edx, 0xd
je 0x404540
cmp dword [ebp - 0x4c], 0x3f
jae 0x404540
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
mov dl, byte [eax]
mov byte [ebp + ecx - 0x48], dl
jmp 0x404512
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp + 0x10]
mov dl, byte [ebp + ecx - 0x500]
mov byte [ebp + eax - 0x48], dl
mov eax, dword [0x4172b4]
movsx ecx, byte [eax + 8]
cmp ecx, 0x44
jne 0x404586
push str._bit
lea edx, [ebp - 0x48]
push edx
call fcn.00406db0
add esp, 8
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x404586
mov eax, dword [ebp - 0x70]
mov byte [eax], 0x2d
mov ecx, dword [ebp - 0x70]
mov byte [ecx + 1], 0x42
jmp 0x404595
mov edx, dword [ebp + 0x10]
mov al, byte [ebp + edx - 0x500]
mov byte [ebp - 0x48], al
mov dword [ebp - 0x4c], 0
jmp 0x4045a7
mov ecx, dword [ebp - 0x4c]
add ecx, 1
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0x401
jae 0x404683
mov edx, dword [ebp - 0x4c]
movsx eax, byte [ebp + edx - 0x500]
mov dword [ebp - 0x508], eax
cmp dword [ebp - 0x508], 0x5b
ja case.0x4045df.1
mov ecx, dword [ebp - 0x508]
movzx edx, byte [ecx + 0x40483c]
jmp dword [edx*4 + 0x404834]
cmp dword [ebp - 0x4c], 0
je 0x404677
mov eax, dword [ebp - 0x4c]
movsx ecx, byte [ebp + eax - 0x501]
cmp ecx, 0x20
jne 0x404609
mov edx, dword [ebp - 0x4c]
sub edx, 1
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x4c]
mov byte [ebp + eax - 0x500], 0
push str._Version
lea ecx, [ebp - 0x500]
push ecx
call fcn.00406db0
add esp, 8
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x40465c
mov edx, dword [ebp - 0x70]
mov byte [edx], 0
push str._Version
call fcn.00407470
add esp, 4
add eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
push 0x20
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.00401be0
add esp, 0xc
push 0x80
lea edx, [ebp - 0xf8]
push edx
lea eax, [ebp - 0x500]
push eax
call fcn.00401be0
add esp, 0xc
mov dword [ebp - 0x4c], 0x401
jmp 0x40459e
push 0x401
lea ecx, [ebp - 0x500]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x401
lea eax, [ebp - 0x500]
push eax
push 0x416518
call fcn.00401be0
add esp, 0xc
push 0x401
lea ecx, [ebp - 0x500]
push ecx
lea edx, [ebp - 0xf8]
push edx
call fcn.00401be0
add esp, 0xc
push 0x401
lea eax, [ebp - 0x500]
push eax
push 0x416518
call fcn.00401be0
add esp, 0xc
push 0x401
lea ecx, [ebp - 0x500]
push ecx
lea edx, [ebp - 0x6c]
push edx
call fcn.00401be0
add esp, 0xc
lea eax, [ebp - 0x500]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov byte [ebp - 0x500], 0
push 0x401
lea edx, [ebp - 0x500]
push edx
lea eax, [ebp - 0xf8]
push eax
call fcn.00401be0
add esp, 0xc
push 0x401
lea ecx, [ebp - 0x500]
push ecx
push 0x416518
call fcn.00401be0
add esp, 0xc
push 0x401
lea edx, [ebp - 0x500]
push edx
lea eax, [ebp - 0x6c]
push eax
call fcn.00401be0
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x504], eax
push 0x48
push 0x5a
mov edx, dword [ebp - 0x504]
push edx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xffffffffffffffee
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [0x416538], eax
mov eax, dword [ebp - 0x504]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x416538
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x4047d4
push 0
mov edx, dword [ebp - 0x74]
push edx
push 0x30
push 0x3e9
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x500]
push ecx
push 0x3e9
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea eax, [ebp - 0x48]
push eax
push 0x3ea
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov edx, dword [0x4172b4]
movsx eax, byte [edx + 0x18]
test eax, eax
jne 0x404826
push 0x20
mov ecx, dword [0x4172b4]
add ecx, 0x18
push ecx
lea edx, [ebp - 0xf8]
push edx
call fcn.00401be0
add esp, 0xc
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040716f
mov esp, ebp
pop ebp
ret