Function at 0x46d870
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
mov eax, dword [0x4ed310]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
cmp dword [esi + 0x50], 0
push edi
jne 0x46d8a2
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [esi + 0x50], eax
mov ecx, dword [esi + 4]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
mov edx, dword [esi + 0x50]
inc edx
push edx
lea ecx, [ebp - 0x204]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov edx, dword [esi + 0x60]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x147
push edx
call edi
push 0
push eax
mov eax, dword [esi + 0x60]
push 0x150
push eax
call edi
mov ebx, eax
mov ecx, ebx
mov dword [ebp - 0x23c], ebx
call fcn.0041f550
mov ecx, ebx
call fcn.004203f0
mov dword [ebp - 0x230], eax
mov byte [ebp - 0x221], 0
cmp eax, 0x52
ja case.0x46d915.1
movzx ecx, byte [eax + 0x46dc40]
jmp dword [ecx*4 + 0x46dc30]
mov edx, dword [esi + 4]
push 0x3f8
push edx
mov byte [ebp - 0x221], 1
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x46d9ce
mov eax, dword [esi + 4]
push 0x3f8
push eax
mov byte [ebp - 0x221], 1
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x16
mov ecx, ebx
mov dword [ebp - 0x228], eax
call fcn.0041f500
mov edx, dword [ebp - 0x228]
movzx ecx, al
push ecx
push edx
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x46d9ce
push 0x4d302c
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x12b
call fcn.004966e0
add esp, 4
push eax
lea ecx, [ebp - 0x204]
push ecx
jmp 0x46d9c8
push 0x4d302c
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x107
call fcn.004966e0
add esp, 4
push eax
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ecx, dword [esi + 4]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
lea edx, [ebp - 0x204]
push edx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp byte [ebp - 0x221], 0
je 0x46dc1c
mov eax, dword [esi + 0x64]
push 0
push 0
push 0x14b
push eax
call edi
push 0x36
call fcn.004966e0
mov ecx, dword [esi + 0x64]
add esp, 4
push eax
push 0
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x64]
push 0xffffffffffffffff
push 0
push 0x151
push edx
call edi
mov eax, dword [esi + 0x64]
push 0
push 0
push 0x14e
push eax
call edi
mov ecx, ebx
call fcn.0041f480
mov ebx, dword [eax]
mov dword [ebp - 0x238], eax
cmp ebx, dword [eax + 4]
je 0x46db14
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebx]
push ecx
push edx
lea eax, [ebp - 0x220]
push eax
call fcn.00420ef0
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x46da71
mov eax, dword [eax]
mov ecx, dword [esi + 0x64]
push eax
push 0
push 0x143
push ecx
call edi
cmp dword [ebp - 0x20c], 8
jb 0x46da97
mov edx, dword [ebp - 0x220]
push edx
call fcn.0049855c
add esp, 4
mov eax, dword [esi + 0x64]
push 0
push 0
push 0x146
push eax
call edi
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebx]
push ecx
push edx
mov dword [ebp - 0x234], eax
call fcn.00420de0
fnstcw word [ebp - 0x222]
movzx eax, word [ebp - 0x222]
mov ecx, dword [esi + 0x64]
or eax, 0xc00
mov dword [ebp - 0x228], eax
add esp, 8
fldcw word [ebp - 0x228]
fistp qword [ebp - 0x22c]
mov eax, dword [ebp - 0x22c]
push eax
mov eax, dword [ebp - 0x234]
fldcw word [ebp - 0x222]
dec eax
push eax
push 0x151
push ecx
call edi
mov edx, dword [ebp - 0x238]
add ebx, 4
cmp ebx, dword [edx + 4]
jne 0x46da50
mov eax, dword [esi + 0x68]
push 0
push 0
push 0x14b
push eax
call edi
mov ebx, dword [ebp - 0x23c]
push 2
mov ecx, ebx
call fcn.0041f530
test al, al
je 0x46db4e
push 0x6b
call fcn.004966e0
mov ecx, dword [esi + 0x68]
add esp, 4
push eax
push 0
push 0x143
push ecx
call edi
push 1
mov ecx, ebx
call fcn.0041f530
test al, al
je 0x46db8b
push 0x6c
call fcn.004966e0
mov edx, dword [esi + 0x68]
add esp, 4
push eax
push 0
push 0x143
push edx
call edi
push 0x6d
call fcn.004966e0
add esp, 4
push eax
mov eax, dword [esi + 0x68]
push 0
push 0x143
push eax
call edi
push 5
mov ecx, ebx
call fcn.0041f530
test al, al
je 0x46dbb0
push 0x6e
call fcn.004966e0
mov ecx, dword [esi + 0x68]
add esp, 4
push eax
push 0
push 0x143
push ecx
call edi
push 3
mov ecx, ebx
call fcn.0041f530
test al, al
je 0x46dbd5
push 0x6f
call fcn.004966e0
mov edx, dword [esi + 0x68]
add esp, 4
push eax
push 0
push 0x143
push edx
call edi
push 4
mov ecx, ebx
call fcn.0041f530
test al, al
je 0x46dbfa
push 0x70
call fcn.004966e0
add esp, 4
push eax
mov eax, dword [esi + 0x68]
push 0
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x68]
push 0
push 0
push 0x14e
push ecx
call edi
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00499155
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor al, al
pop ebx
call fcn.00499155
mov esp, ebp
pop ebp
ret