Function at 0x4157e0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 8]
movzx eax, word [ebx + 2]
push esi
push edi
mov esi, ecx
test ax, ax
je 0x415804
push 1
push eax
push 0x3ef
call sub.mfc100u.dll_CWnd::SetDlgItemInt
movzx eax, word [ebx + 4]
test ax, ax
je 0x41581c
push 1
push eax
push 0x3f5
mov ecx, esi
call sub.mfc100u.dll_CWnd::SetDlgItemInt
movzx eax, word [ebx]
test ax, ax
je 0x415833
push 1
push eax
push 0x3fe
mov ecx, esi
call sub.mfc100u.dll_CWnd::SetDlgItemInt
cmp word [ebx + 0x36], 0
lea eax, [ebx + 0x36]
je 0x41584a
push eax
push 0x3e9
mov ecx, esi
call sub.mfc100u.dll_CWnd::SetDlgItemTextW
mov eax, dword [ebx + 0x10]
or eax, dword [ebx + 0x14]
je 0x415864
mov ecx, dword [ebx + 0x10]
push 1
push ecx
push 0x402
mov ecx, esi
call sub.mfc100u.dll_CWnd::SetDlgItemInt
cmp word [ebx + 6], 0
mov ecx, esi
je 0x4158ec
push 0x407
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 1
push 0xf1
push edx
call edi
push 0x44fe94
push 0x233e
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::SetWindowTextW
push 0x44b36c
push 0x406
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::SetWindowTextW
push 0x406
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov eax, dword [eax + 0x20]
push 0
push 3
push 0xc5
push eax
call edi
movzx ecx, word [ebx + 6]
push 1
push ecx
push 0x406
mov ecx, esi
call sub.mfc100u.dll_CWnd::SetDlgItemInt
jmp 0x415954
mov edx, dword [ebx + 8]
or edx, dword [ebx + 0xc]
je 0x41592e
push 0x2340
call sub.mfc100u.dll_CWnd::GetDlgItem
mov eax, dword [eax + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 1
push 0xf1
push eax
call edi
mov ecx, esi
call fcn.00415720
mov ecx, dword [ebx + 8]
push 1
push ecx
push 0x406
mov ecx, esi
call sub.mfc100u.dll_CWnd::SetDlgItemInt
jmp 0x415954
push 0x407
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 1
push 0xf1
push edx
call edi
mov ecx, esi
call fcn.004156c0
mov eax, dword [ebx + 0x20]
push 1
push eax
push 0x403
mov ecx, esi
call sub.mfc100u.dll_CWnd::SetDlgItemInt
mov ecx, dword [ebx + 0x28]
push 1
push ecx
push 0x404
mov ecx, esi
call sub.mfc100u.dll_CWnd::SetDlgItemInt
mov edx, dword [ebx + 0x18]
or edx, dword [ebx + 0x1c]
je 0x415992
mov eax, dword [ebx + 0x18]
push 1
push eax
push 0x405
mov ecx, esi
call sub.mfc100u.dll_CWnd::SetDlgItemInt
cmp byte [ebx + 0x31], 0
je 0x415a7a
mov ecx, dword [esi + 0x6b0]
push 0
push 0
push 0x146
push ecx
mov dword [ebp - 8], 0
call edi
test eax, eax
jle 0x415a0a
lea esp, [esp]
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x6b0]
push 0
push edx
push 0x150
push eax
call edi
movzx ecx, byte [ebx + 0x30]
push 0
cmp eax, ecx
je 0x4159f8
mov edx, dword [esi + 0x6b0]
inc dword [ebp - 8]
push 0
push 0x146
push edx
call edi
cmp dword [ebp - 8], eax
jl 0x4159c0
jmp 0x415a0a
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x6b0]
push eax
push 0x14e
push ecx
call edi
mov edx, dword [esi + 0x820]
push 0
push 0
push 0x146
push edx
mov dword [ebp - 8], 0
call edi
test eax, eax
jle 0x415a7a
jmp 0x415a30
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x820]
push 0
push eax
push 0x150
push ecx
call edi
movzx edx, byte [ebx + 0x31]
push 0
cmp eax, edx
je 0x415a68
mov eax, dword [esi + 0x820]
inc dword [ebp - 8]
push 0
push 0x146
push eax
call edi
cmp dword [ebp - 8], eax
jl 0x415a30
jmp 0x415a7a
mov ecx, dword [ebp - 8]
mov edx, dword [esi + 0x820]
push ecx
push 0x14e
push edx
call edi
mov bl, byte [ebx + 0x32]
and bl, 1
mov byte [ebp - 1], bl
mov ebx, dword [ebp + 0xc]
movzx eax, bl
and eax, 1
push eax
push 0x232e
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x232e
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp - 1], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 1
shr edx, 1
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x232c
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x232c
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 2
shr edx, 2
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x232d
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x232d
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
shr ecx, 3
and cl, 1
mov byte [ebp + 0xf], cl
mov edx, ebx
shr edx, 3
and edx, 1
push edx
push 0x2336
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2336
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 0xc
shr edx, 0xc
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x2335
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2335
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 0xd
shr edx, 0xd
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x2331
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2331
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
shr ecx, 0xe
mov edx, ebx
and cl, 1
shr edx, 0xe
mov byte [ebp + 0xf], cl
and edx, 1
push edx
push 0x2330
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2330
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 0x14
shr edx, 0x14
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x2337
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2337
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 0x15
shr edx, 0x15
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x2338
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2338
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
shr ecx, 8
mov edx, ebx
and cl, 1
shr edx, 8
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x232a
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x232a
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
push 0x232b
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov eax, dword [eax + 0x20]
push 0
push 0
push 0xf1
push eax
call edi
push 0
push 0x232b
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
movzx eax, word [esi + 0x148]
cmp eax, 1
jne 0x415db6
mov byte [ebp + 0xf], al
jmp 0x415dc5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x32]
shr edx, 0xb
and dl, 1
mov byte [ebp + 0xf], dl
cmp eax, 1
jne 0x415dce
xor eax, eax
jmp 0x415dd6
mov eax, ebx
shr eax, 0xb
and eax, 1
push eax
push 0x2329
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2329
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
shr ecx, 0xa
and cl, 1
push 0
mov byte [ebp + 0xf], cl
push 0x233d
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x233d
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov eax, dword [eax + 0x20]
xor edx, edx
cmp byte [ebp + 0xf], dl
push 0
setne dl
push edx
push 0xf1
push eax
call edi
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x32]
mov eax, ebx
shr eax, 6
and eax, 1
shr edx, 6
push eax
and dl, 1
push 0x2333
mov ecx, esi
mov byte [ebp + 0xf], dl
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2333
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 0x12
shr edx, 0x12
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x233a
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x233a
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 0x13
shr edx, 0x13
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x2339
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2339
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 4
shr edx, 4
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x232f
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x232f
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 0x16
shr edx, 0x16
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x2334
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2334
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
mov edx, ebx
shr ecx, 0x17
shr edx, 0x17
and cl, 1
and edx, 1
push edx
mov byte [ebp + 0xf], cl
push 0x233b
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x233b
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov edx, dword [eax + 0x20]
xor ecx, ecx
cmp byte [ebp + 0xf], cl
push 0
setne cl
push ecx
push 0xf1
push edx
call edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x32]
shr ecx, 5
shr ebx, 5
and cl, 1
and ebx, 1
push ebx
mov byte [ebp + 0xb], cl
push 0x2332
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc100u.dll_CWnd::EnableWindow
push 0x2332
mov ecx, esi
call sub.mfc100u.dll_CWnd::GetDlgItem
mov eax, dword [eax + 0x20]
xor edx, edx
cmp byte [ebp + 0xb], dl
push 0
setne dl
push edx
push 0xf1
push eax
call edi
push 1
lea ecx, [esi + 0x164]
call sub.mfc100u.dll_CWnd::EnableWindow
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8