Function at 0x4103e0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4608c1
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
mov eax, dword [0x47cbc0]
xor eax, esp
mov dword [esp + 0x1b0], eax
push ebx
push esi
push edi
mov eax, dword [0x47cbc0]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov edi, 7
xor ebx, ebx
xor eax, eax
mov esi, ecx
mov dword [esp + 0x110], edi
mov dword [esp + 0x10c], ebx
mov word [esp + 0xfc], ax
mov dword [esp + 0x200], ebx
mov ecx, dword [0x462734]
push ecx
push 0x47e0e0
call fcn.00401926
mov ecx, eax
call fcn.0041c2d6
test al, al
je 0x410477
push 0x1b
push str.FUUUpdate::OnInitDialog__:
lea ecx, [esp + 0x100]
call fcn.0040162b
mov edx, dword [0x462734]
push 1
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x124]
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push edx
mov word [ecx + 4], ax
call fcn.00401480
push 0x47e0e0
mov byte [esp + 0x228], 1
call fcn.00401926
push eax
lea ecx, [esp + 0x140]
mov byte [esp + 0x22c], bl
call fcn.0041c3c6
mov byte [esp + 0x200], 2
cmp byte [esp + 0x150], bl
je 0x410533
push 4
xor eax, eax
push str.Open
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], ebx
mov word [esp + 0x6c], ax
call fcn.0040162b
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x118]
mov byte [esp + 0x204], 3
call fcn.0041c485
mov byte [esp + 0x200], 2
cmp dword [esp + 0x78], 8
jb 0x410533
mov edx, dword [esp + 0x64]
push edx
call fcn.00422a4d
add esp, 4
lea ecx, [esp + 0xb4]
call fcn.0042110d
mov byte [esp + 0x200], 4
mov eax, dword [esi + 0x90]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax]
lea ecx, [esp + 0xb4]
push ecx
push edx
mov ecx, eax
call fcn.00420d7b
cmp byte [esp + 0x150], bl
je 0x410691
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0xb8]
call fcn.004215a0
mov byte [esp + 0x200], 5
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x80]
call fcn.0041ee2f
push eax
lea eax, [esp + 0x9c]
push str.Updated_device__
push eax
mov byte [esp + 0x20c], 6
call fcn.0041f07a
add esp, 0xc
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
mov byte [esp + 0x204], 7
call fcn.0041f062
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x118]
mov byte [esp + 0x204], 8
call fcn.0041c485
cmp dword [esp + 0x78], 8
jb 0x4105f6
mov eax, dword [esp + 0x64]
push eax
call fcn.00422a4d
add esp, 4
xor ecx, ecx
cmp dword [esp + 0xb0], 8
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], cx
jb 0x41061f
mov edx, dword [esp + 0x9c]
push edx
call fcn.00422a4d
add esp, 4
xor eax, eax
cmp dword [esp + 0x94], 8
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov word [esp + 0x9c], ax
jb 0x410651
mov ecx, dword [esp + 0x80]
push ecx
call fcn.00422a4d
add esp, 4
mov byte [esp + 0x200], 4
mov eax, dword [esp + 0x44]
xor edx, edx
add eax, 0xfffffff0
mov word [esp + 0x80], dx
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410691
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, esi
call fcn.00427e96
call fcn.004257fc
fld qword [0x46dae8]
mov ecx, dword [esi + 0x20]
mov eax, dword [eax + 0xc]
sub esp, 8
fstp qword [esp]
push 0x86
push ecx
lea ebx, [esi + 0x74]
mov ecx, eax
call fcn.004150c0
push 0xffffff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
lea ecx, [esi + 0x98]
call fcn.004299bd
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
lea edx, [esp + 0x7c]
push edx
lea ecx, [eax + 0x40]
call fcn.0041d0a5
mov edi, 8
mov byte [esp + 0x200], 9
cmp dword [eax + 0x18], edi
jb 0x410702
mov eax, dword [eax + 4]
jmp 0x410705
add eax, 4
push eax
lea ecx, [esp + 0x60]
call fcn.00409470
mov byte [esp + 0x200], 0xb
cmp dword [esp + 0x94], edi
jb 0x410730
mov eax, dword [esp + 0x80]
push eax
call fcn.00422a4d
add esp, 4
push str.mback.bmp
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x5c]
xor ecx, ecx
push eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], cx
call fcn.00407830
add esp, 0xc
push 0x10
push 0
push 0
mov byte [esp + 0x20c], 0xc
mov ecx, dword [esp + 0x60]
push 0
push ecx
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
push eax
call fcn.004299a9
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
lea edx, [esp + 0xe0]
push edx
mov dword [esi + 0xa0], eax
mov eax, dword [eax + 4]
push 0x18
push eax
call edi
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xe4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 1
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 0x20]
push 0x80
push ecx
mov dword [esi + 0xa4], eax
call ebx
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0xb8]
call fcn.004215a0
lea ecx, [esp + 0xb4]
mov byte [esp + 0x200], 0xd
call fcn.004214f3
lea ecx, [esp + 0xb4]
cmp eax, 4
jne 0x410840
lea eax, [esp + 0x44]
push eax
call fcn.00421804
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x204], 0xe
call fcn.00409930
mov byte [esp + 0x200], 0xd
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x410889
call fcn.004214f3
cmp eax, 1
jne 0x410895
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0xb8]
call fcn.00421738
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x204], 0xf
call fcn.00409930
mov byte [esp + 0x200], 0xd
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410895
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.00423e8f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4108af
push 0x80004005
call fcn.004099d0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x50], eax
push 0x3ed
mov byte [esp + 0x204], 0x10
call fcn.00423e5f
test eax, eax
je 0x4108e4
push 0x3ed
push eax
lea ecx, [esp + 0x58]
call fcn.00409330
mov ecx, dword [esp + 0x50]
push ecx
mov ecx, esi
call fcn.0042855e
call fcn.00423e8f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41090a
push 0x80004005
call fcn.004099d0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x4c], eax
push 0x3fa
mov byte [esp + 0x204], 0x11
call fcn.00423e5f
test eax, eax
je 0x41093f
push 0x3fa
push eax
lea ecx, [esp + 0x54]
call fcn.00409330
mov ecx, dword [esp + 0x4c]
push ecx
push 0x40e
mov ecx, esi
call fcn.00428471
mov ecx, eax
call fcn.0042855e
push 0x40e
mov ecx, esi
call fcn.00428471
mov edx, dword [eax + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call fcn.004299a9
test eax, eax
je 0x410a00
mov edx, dword [eax + 4]
lea ecx, [esp + 0x15c]
push ecx
push 0x5c
push edx
call edi
fild dword [esp + 0x15c]
mov dword [esp + 0x16c], 0x2bc
fmul qword [0x46dae0]
call fcn.00444f40
push 8
mov dword [esp + 0x160], eax
call fcn.00422a1e
xor edi, edi
add esp, 4
cmp eax, edi
je 0x4109cc
mov dword [eax + 4], edi
mov dword [eax], vtable.CFont.0
mov edi, eax
lea eax, [esp + 0x15c]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push eax
mov ecx, edi
call fcn.004299bd
push 0x40e
mov ecx, esi
call fcn.00428471
test edi, edi
je 0x4109f5
mov edi, dword [edi + 4]
mov ecx, dword [eax + 0x20]
push 1
push edi
push 0x30
push ecx
call ebx
mov edx, dword [esp + 0x48]
push edx
push 0x40f
mov ecx, esi
call fcn.00428471
mov ecx, eax
call fcn.0042855e
call fcn.00423e8f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410a32
push 0x80004005
call fcn.004099d0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [esp + 0x58], ebx
push 0x3fb
mov byte [esp + 0x204], 0x12
call fcn.00423e5f
test eax, eax
je 0x410a6b
push 0x3fb
push eax
lea ecx, [esp + 0x60]
call fcn.00409330
mov ebx, dword [esp + 0x58]
push ebx
push 0x410
mov ecx, esi
call fcn.00428471
mov ecx, eax
call fcn.0042855e
call fcn.00423e8f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410a99
push 0x80004005
call fcn.004099d0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x44], edi
push 0x422
mov byte [esp + 0x204], 0x13
call fcn.00423e5f
test eax, eax
je 0x410ad2
push 0x422
push eax
lea ecx, [esp + 0x4c]
call fcn.00409330
mov edi, dword [esp + 0x44]
push edi
push 1
mov ecx, esi
call fcn.00428471
mov ecx, eax
call fcn.0042855e
cmp byte [esi + 0x94], 0
je 0x410afe
push 0
push 1
mov ecx, esi
call fcn.00428471
mov ecx, eax
call fcn.00428600
mov eax, dword [esi + 0x90]
mov ecx, dword [eax]
call fcn.0041f6a0
test eax, eax
jne 0x410b21
mov ecx, dword [esi + 0x20]
push eax
push 0x1388
push 1
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
lea eax, [edi - 0x10]
mov byte [esp + 0x200], 0x12
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410b45
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x200], 0x11
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410b69
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 0x10
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410b91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 0xd
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410bb9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 0xc
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410be1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 0xb
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410c09
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 4
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410c31
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0x200], 2
call fcn.0042135b
lea ecx, [esp + 0x114]
mov byte [esp + 0x200], 0
call fcn.0041b10c
cmp dword [esp + 0x110], 8
jb 0x410c73
mov ecx, dword [esp + 0xfc]
push ecx
call fcn.00422a4d
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1b0]
xor ecx, esp
call fcn.0043f432
mov esp, ebp
pop ebp
ret