Function at 0x40e2f8
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0xdc
mov eax, dword [0x5107c0]
xor eax, esp
mov dword [esp + 0xd4], eax
push ebx
push ebp
push esi
push edi
xor eax, eax
mov byte [esp + 0x17], dl
push 0x7e
push eax
mov word [esp + 0x68], ax
mov ebx, ecx
lea eax, [esp + 0x6a]
mov dword [esp + 0x20], ebx
push eax
call fcn.004b6030
add esp, 0xc
push 0x33
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, eax
mov edx, 0x9ae6664f
push 0x40b96fb1
mov ecx, 0xffeecdce
mov dword [0x521970], ebx
call fcn.004014a6
pop ecx
mov edx, eax
mov ecx, ebx
call fcn.0040bfcb
call fcn.004031c6
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 1
push 0x1003
push ebx
call ebp
push 0x10030
xor ecx, ecx
push ecx
push 0x1036
push ebx
call ebp
mov ecx, dword [0x521818]
lea eax, [esp + 0x60]
push 0x40
push eax
push 0x4a
call fcn.0041c148
test eax, eax
jne 0x40e3be
movzx edx, word [0x517a90]
lea eax, [esp + 0x60]
push 0x40
push eax
xor edx, 0xc7c7
mov ecx, 0x517a92
call fcn.00415bfb
pop ecx
pop ecx
push 0xfc0f6b94
mov edx, 0x26506261
mov ecx, 0x4358c9d4
call fcn.004014a6
pop ecx
mov edx, eax
xor ecx, ecx
mov esi, edx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x40e3d9
lea edi, [esp + 0x60]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, cx
jne 0x40e3ed
mov ecx, edx
lea eax, [esp + 0x60]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, edx
push 0xa
push dword [esp + 0x20]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ecx, dword [0x521818]
lea eax, [esp + 0x60]
push 0x40
push eax
push 0x50
call fcn.0041c148
test eax, eax
jne 0x40e450
movzx edx, word [0x517ae2]
lea eax, [esp + 0x60]
push 0x40
push eax
xor edx, 0xc7c7
mov ecx, 0x517ae4
call fcn.00415bfb
pop ecx
pop ecx
push 0x1abd6844
mov edx, 0xc0e261b1
mov ecx, 0xa5eaca0a
call fcn.004014a6
pop ecx
mov edx, eax
xor ecx, ecx
mov esi, edx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x40e46b
lea edi, [esp + 0x60]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, cx
jne 0x40e47f
mov ecx, edx
lea eax, [esp + 0x60]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, edx
push 0x11
push dword [esp + 0x20]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ecx, dword [0x521818]
lea eax, [esp + 0x60]
push 0x40
push eax
push 0x4c
call fcn.0041c148
test eax, eax
jne 0x40e4e2
movzx edx, word [0x517aa8]
lea eax, [esp + 0x60]
push 0x40
push eax
xor edx, 0xc7c7
mov ecx, 0x517aaa
call fcn.00415bfb
pop ecx
pop ecx
push 0x1a4e5900
mov edx, 0xc01150f5
mov ecx, 0xa519fb54
call fcn.004014a6
pop ecx
mov edx, eax
xor ecx, ecx
mov esi, edx
mov ax, word [edx]
add edx, 2
cmp ax, cx
jne 0x40e4fd
lea edi, [esp + 0x60]
sub edx, esi
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, cx
jne 0x40e511
mov ecx, edx
lea eax, [esp + 0x60]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
push 0xc
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [esp + 0x17], 0
je 0x40e658
xor eax, eax
lea edi, [esp + 0x49]
xor ecx, ecx
mov byte [esp + 0x48], cl
stosd dword es:[edi], eax
push ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x4c]
push eax
call fcn.00409536
mov edi, eax
test edi, edi
jle 0x40e5ca
xor eax, eax
mov ecx, eax
and dword [ecx + 0x515600], 0xffffefff
add ecx, 4
cmp ecx, 0x54
jb 0x40e56e
or dword [0x515600], 0x1000
mov esi, eax
or dword [0x515608], 0x1000
test edi, edi
jle 0x40e5ca
mov al, byte [esp + esi + 0x48]
cmp al, 0x15
jae 0x40e5c5
movzx edx, al
mov ecx, esi
and ecx, 0x3f
or ecx, 0x40
shl ecx, 6
mov eax, dword [edx*4 + 0x515600]
and eax, 0xfffff03f
or ecx, eax
mov dword [edx*4 + 0x515600], ecx
inc esi
cmp esi, edi
jl 0x40e59a
push 0xa
xor eax, eax
lea edi, [esp + 0x24]
pop ecx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x1c], 0x26
mov dword [esp + 0x28], eax
xor eax, eax
mov esi, eax
test dword [esi*4 + 0x515600], 0x1000
je 0x40e64e
push 0x40
lea edx, [esp + 0x64]
mov ecx, esi
call fcn.0040d8b2
pop ecx
lea eax, [esp + 0x60]
push eax
xor eax, eax
push eax
push 0x1057
push ebx
call ebp
mov edx, dword [esi*4 + 0x515600]
mov ecx, edx
shr ecx, 0xd
and ecx, 0x1ffff
cmp eax, ecx
cmovg ecx, eax
lea eax, [esp + 0x1c]
push eax
push esi
shr edx, 6
push 0x1061
and edx, 0x3f
mov dword [esi*4 + 0x521850], ecx
push ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x48], edx
call ebp
inc esi
cmp esi, 0x15
jb 0x40e5e9
mov esi, dword [esp + 0x18]
mov eax, dword [0x52181c]
xor ecx, ecx
cmp dword [eax + 0x28], ecx
jne 0x40e6ac
mov ecx, dword [0x521818]
lea eax, [esp + 0x60]
push 0x40
push eax
push 0x5f
call fcn.0041c148
test eax, eax
jne 0x40e69c
movzx edx, word [0x517c5a]
lea eax, [esp + 0x60]
push 0x40
push eax
xor edx, 0xc7c7
mov ecx, 0x517c5c
call fcn.00415bfb
pop ecx
pop ecx
lea eax, [esp + 0x60]
push eax
push 0x32
push esi
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x40e703
mov edx, ebx
mov ecx, esi
call fcn.0040e15f
xor eax, eax
mov edi, eax
mov esi, eax
test dword [esi + 0x515600], 0x1000
je 0x40e6fb
push 0xffff
push edi
push 0x101e
push ebx
call ebp
xor eax, eax
push eax
push edi
push 0x101d
push ebx
call ebp
cmp eax, dword [esi + 0x521850]
jge 0x40e6fa
movzx eax, word [esi + 0x521850]
push eax
push edi
push 0x101e
push ebx
call ebp
inc edi
add esi, 4
cmp esi, 0x54
jb 0x40e6bb
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b35e5
add esp, 0xdc
ret