Function at 0x1000b970
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1003be08
push eax
mov dword fs:[0], esp
mov ecx, dword [esp + 0x10]
sub esp, 0x48
lea eax, [esp + 0x14]
push ebx
push ebp
push esi
push edi
push 0x32
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClassNameA]
test eax, eax
je 0x1000c1a2
lea edx, [esp + 0x24]
test edx, edx
jne 0x1000b9b2
xor eax, eax
jmp 0x1000b9cc
mov cl, byte [esp + 0x24]
lea eax, [esp + 0x24]
test cl, cl
je 0x1000b9c6
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000b9be
lea ecx, [esp + 0x24]
sub eax, ecx
lea esi, [eax + 1]
push esi
call fcn.10030d66
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x10], edi
je 0x1000ba1d
lea edx, [esp + 0x24]
test edx, edx
je 0x1000b9ff
test esi, esi
je 0x1000b9ff
lea ecx, [esp + 0x24]
dec esi
sub ecx, edi
inc esi
mov dl, byte [ecx + eax]
mov byte [eax], dl
inc eax
dec esi
jne 0x1000b9f6
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x1000ba1d
mov al, byte [ecx]
cmp al, 0x61
jl 0x1000ba15
cmp al, 0x7a
jg 0x1000ba15
sub al, 0x20
mov byte [ecx], al
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1000ba07
mov eax, str.ThunderRT6TextBox
test eax, eax
je 0x1000ba42
mov cl, byte [str.ThunderRT6TextBox]
mov eax, str.ThunderRT6TextBox
test cl, cl
je 0x1000ba3d
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000ba35
sub eax, str.ThunderRT6TextBox
lea esi, [eax + 1]
push esi
call fcn.10030d66
mov ebx, eax
add esp, 4
test ebx, ebx
mov ecx, esi
je 0x1000ba94
mov edx, str.ThunderRT6TextBox
test edx, edx
je 0x1000ba76
test ecx, ecx
je 0x1000ba76
dec ecx
sub edx, ebx
lea esi, [ecx + 1]
mov cl, byte [edx + eax]
mov byte [eax], cl
inc eax
dec esi
jne 0x1000ba69
mov edi, dword [esp + 0x10]
mov al, byte [ebx]
mov ecx, ebx
test al, al
je 0x1000ba94
mov al, byte [ecx]
cmp al, 0x61
jl 0x1000ba8c
cmp al, 0x7a
jg 0x1000ba8c
sub al, 0x20
mov byte [ecx], al
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1000ba7e
test edi, edi
jne 0x1000ba9c
xor ecx, ecx
jmp 0x1000bab0
mov cl, byte [edi]
mov eax, edi
test cl, cl
je 0x1000baac
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000baa4
sub eax, edi
mov ecx, eax
test ebx, ebx
jne 0x1000bab8
xor eax, eax
jmp 0x1000baca
mov dl, byte [ebx]
mov eax, ebx
test dl, dl
je 0x1000bac8
mov dl, byte [eax + 1]
inc eax
test dl, dl
jne 0x1000bac0
sub eax, ebx
cmp ecx, eax
jle 0x1000bad4
movsx esi, byte [eax + edi]
jmp 0x1000bb41
jge 0x1000bade
movsx esi, byte [ecx + ebx]
neg esi
jmp 0x1000bb41
test edi, edi
je 0x1000c1fe
test ebx, ebx
je 0x1000c1fe
push 4
push ecx
call fcn.1003114a
mov esi, dword [esp + 0x18]
add esp, 8
xor ebp, ebp
mov edi, ebx
test eax, eax
jle 0x1000bb18
mov ecx, dword [esi]
add esi, 4
sub ecx, dword [edi]
add edi, 4
test ecx, ecx
jne 0x1000bb64
inc ebp
cmp ebp, eax
jl 0x1000bb05
test edx, edx
je 0x1000bb39
xor ebp, ebp
mov ecx, esi
test edx, edx
jle 0x1000bb39
sub edi, esi
movsx esi, byte [edi + ecx]
movsx eax, byte [ecx]
sub eax, esi
inc ecx
test eax, eax
jne 0x1000bb3b
inc ebp
cmp ebp, edx
jl 0x1000bb26
xor eax, eax
mov edi, dword [esp + 0x10]
mov esi, eax
push edi
call fcn.10030d5b
push ebx
call fcn.10030d5b
add esp, 8
test esi, esi
je 0x1000c1a2
lea edx, [esp + 0x24]
test edx, edx
jne 0x1000bb68
xor eax, eax
jmp 0x1000bb82
mov eax, ecx
jmp 0x1000bb3b
mov cl, byte [esp + 0x24]
lea eax, [esp + 0x24]
test cl, cl
je 0x1000bb7c
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000bb74
lea ecx, [esp + 0x24]
sub eax, ecx
lea esi, [eax + 1]
push esi
call fcn.10030d66
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x10], edi
mov ecx, esi
je 0x1000bbd7
lea edx, [esp + 0x24]
test edx, edx
je 0x1000bbb9
test ecx, ecx
je 0x1000bbb9
dec ecx
lea edx, [esp + 0x24]
sub edx, edi
lea esi, [ecx + 1]
mov cl, byte [edx + eax]
mov byte [eax], cl
inc eax
dec esi
jne 0x1000bbb0
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x1000bbd7
mov al, byte [ecx]
cmp al, 0x61
jl 0x1000bbcf
cmp al, 0x7a
jg 0x1000bbcf
sub al, 0x20
mov byte [ecx], al
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1000bbc1
mov edx, str.Edit
test edx, edx
jne 0x1000bbe4
xor eax, eax
jmp 0x1000bc00
mov cl, byte [str.Edit]
mov eax, str.Edit
test cl, cl
je 0x1000bbfb
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000bbf3
sub eax, str.Edit
lea esi, [eax + 1]
push esi
call fcn.10030d66
mov ebx, eax
add esp, 4
test ebx, ebx
mov ecx, esi
je 0x1000bc55
mov eax, str.Edit
test eax, eax
je 0x1000bc37
test ecx, ecx
je 0x1000bc37
dec ecx
mov edx, str.Edit
mov eax, ebx
sub edx, ebx
lea esi, [ecx + 1]
mov cl, byte [edx + eax]
mov byte [eax], cl
inc eax
dec esi
jne 0x1000bc2e
mov al, byte [ebx]
mov ecx, ebx
test al, al
je 0x1000bc55
mov al, byte [ecx]
cmp al, 0x61
jl 0x1000bc4d
cmp al, 0x7a
jg 0x1000bc4d
sub al, 0x20
mov byte [ecx], al
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1000bc3f
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x1000bc61
xor ecx, ecx
jmp 0x1000bc75
mov cl, byte [edx]
mov eax, edx
test cl, cl
je 0x1000bc71
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000bc69
sub eax, edx
mov ecx, eax
test ebx, ebx
jne 0x1000bc7d
xor eax, eax
jmp 0x1000bc8c
cmp byte [ebx], 0
mov eax, ebx
je 0x1000bc8a
inc eax
cmp byte [eax], 0
jne 0x1000bc84
sub eax, ebx
cmp ecx, eax
jle 0x1000bc96
movsx esi, byte [eax + edx]
jmp 0x1000bd03
jge 0x1000bca0
movsx esi, byte [ecx + ebx]
neg esi
jmp 0x1000bd03
test edx, edx
je 0x1000c1f5
test ebx, ebx
je 0x1000c1f5
push 4
push ecx
call fcn.1003114a
mov esi, dword [esp + 0x18]
add esp, 8
xor ebp, ebp
mov edi, ebx
test eax, eax
jle 0x1000bcda
mov ecx, dword [esi]
add esi, 4
sub ecx, dword [edi]
add edi, 4
test ecx, ecx
jne 0x1000bd26
inc ebp
cmp ebp, eax
jl 0x1000bcc7
test edx, edx
je 0x1000bcfb
xor ebp, ebp
mov ecx, esi
test edx, edx
jle 0x1000bcfb
sub edi, esi
movsx esi, byte [edi + ecx]
movsx eax, byte [ecx]
sub eax, esi
inc ecx
test eax, eax
jne 0x1000bcfd
inc ebp
cmp ebp, edx
jl 0x1000bce8
xor eax, eax
mov edx, dword [esp + 0x10]
mov esi, eax
push edx
call fcn.10030d5b
push ebx
call fcn.10030d5b
add esp, 8
test esi, esi
je 0x1000c1a2
lea edx, [esp + 0x24]
test edx, edx
jne 0x1000bd2a
xor eax, eax
jmp 0x1000bd44
mov eax, ecx
jmp 0x1000bcfd
mov cl, byte [esp + 0x24]
lea eax, [esp + 0x24]
test cl, cl
je 0x1000bd3e
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000bd36
lea ecx, [esp + 0x24]
sub eax, ecx
lea esi, [eax + 1]
push esi
call fcn.10030d66
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x10], edi
mov ecx, esi
je 0x1000bd99
lea edx, [esp + 0x24]
test edx, edx
je 0x1000bd7b
test ecx, ecx
je 0x1000bd7b
dec ecx
lea edx, [esp + 0x24]
sub edx, edi
lea esi, [ecx + 1]
mov cl, byte [eax + edx]
mov byte [eax], cl
inc eax
dec esi
jne 0x1000bd72
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x1000bd99
mov al, byte [ecx]
cmp al, 0x61
jl 0x1000bd91
cmp al, 0x7a
jg 0x1000bd91
sub al, 0x20
mov byte [ecx], al
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1000bd83
mov edx, str.ThunderRT6ComboBox
test edx, edx
jne 0x1000bda6
xor eax, eax
jmp 0x1000bdc2
mov cl, byte [str.ThunderRT6ComboBox]
mov eax, str.ThunderRT6ComboBox
test cl, cl
je 0x1000bdbd
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000bdb5
sub eax, str.ThunderRT6ComboBox
lea esi, [eax + 1]
push esi
call fcn.10030d66
mov ebx, eax
add esp, 4
test ebx, ebx
mov ecx, esi
je 0x1000be17
mov eax, str.ThunderRT6ComboBox
test eax, eax
je 0x1000bdf9
test ecx, ecx
je 0x1000bdf9
dec ecx
mov edx, str.ThunderRT6ComboBox
mov eax, ebx
sub edx, ebx
lea esi, [ecx + 1]
mov cl, byte [edx + eax]
mov byte [eax], cl
inc eax
dec esi
jne 0x1000bdf0
mov al, byte [ebx]
mov ecx, ebx
test al, al
je 0x1000be17
mov al, byte [ecx]
cmp al, 0x61
jl 0x1000be0f
cmp al, 0x7a
jg 0x1000be0f
sub al, 0x20
mov byte [ecx], al
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1000be01
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x1000be23
xor ecx, ecx
jmp 0x1000be37
mov cl, byte [edx]
mov eax, edx
test cl, cl
je 0x1000be33
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000be2b
sub eax, edx
mov ecx, eax
test ebx, ebx
jne 0x1000be3f
xor eax, eax
jmp 0x1000be4e
cmp byte [ebx], 0
mov eax, ebx
je 0x1000be4c
inc eax
cmp byte [eax], 0
jne 0x1000be46
sub eax, ebx
cmp ecx, eax
jle 0x1000be58
movsx esi, byte [eax + edx]
jmp 0x1000bec5
jge 0x1000be62
movsx esi, byte [ecx + ebx]
neg esi
jmp 0x1000bec5
test edx, edx
je 0x1000c1ec
test ebx, ebx
je 0x1000c1ec
push 4
push ecx
call fcn.1003114a
mov esi, dword [esp + 0x18]
add esp, 8
xor ebp, ebp
mov edi, ebx
test eax, eax
jle 0x1000be9c
mov ecx, dword [esi]
add esi, 4
sub ecx, dword [edi]
add edi, 4
test ecx, ecx
jne 0x1000bee8
inc ebp
cmp ebp, eax
jl 0x1000be89
test edx, edx
je 0x1000bebd
xor ebp, ebp
mov ecx, esi
test edx, edx
jle 0x1000bebd
sub edi, esi
movsx esi, byte [ecx + edi]
movsx eax, byte [ecx]
sub eax, esi
inc ecx
test eax, eax
jne 0x1000bebf
inc ebp
cmp ebp, edx
jl 0x1000beaa
xor eax, eax
mov edx, dword [esp + 0x10]
mov esi, eax
push edx
call fcn.10030d5b
push ebx
call fcn.10030d5b
add esp, 8
test esi, esi
je 0x1000c1a2
lea edx, [esp + 0x24]
test edx, edx
jne 0x1000beec
xor eax, eax
jmp 0x1000bf06
mov eax, ecx
jmp 0x1000bebf
mov cl, byte [esp + 0x24]
lea eax, [esp + 0x24]
test cl, cl
je 0x1000bf00
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000bef8
lea ecx, [esp + 0x24]
sub eax, ecx
lea esi, [eax + 1]
push esi
call fcn.10030d66
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x10], edi
mov ecx, esi
je 0x1000bf5b
lea edx, [esp + 0x24]
test edx, edx
je 0x1000bf3d
test ecx, ecx
je 0x1000bf3d
dec ecx
lea edx, [esp + 0x24]
sub edx, edi
lea esi, [ecx + 1]
mov cl, byte [edx + eax]
mov byte [eax], cl
inc eax
dec esi
jne 0x1000bf34
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x1000bf5b
mov al, byte [ecx]
cmp al, 0x61
jl 0x1000bf53
cmp al, 0x7a
jg 0x1000bf53
sub al, 0x20
mov byte [ecx], al
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1000bf45
mov edx, str.ComboBox
test edx, edx
jne 0x1000bf68
xor eax, eax
jmp 0x1000bf84
mov cl, byte [str.ComboBox]
mov eax, str.ComboBox
test cl, cl
je 0x1000bf7f
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000bf77
sub eax, str.ComboBox
lea esi, [eax + 1]
push esi
call fcn.10030d66
mov ebx, eax
add esp, 4
test ebx, ebx
mov ecx, esi
je 0x1000bfd9
mov eax, str.ComboBox
test eax, eax
je 0x1000bfbb
test ecx, ecx
je 0x1000bfbb
dec ecx
mov edx, str.ComboBox
mov eax, ebx
sub edx, ebx
lea esi, [ecx + 1]
mov cl, byte [edx + eax]
mov byte [eax], cl
inc eax
dec esi
jne 0x1000bfb2
mov al, byte [ebx]
mov ecx, ebx
test al, al
je 0x1000bfd9
mov al, byte [ecx]
cmp al, 0x61
jl 0x1000bfd1
cmp al, 0x7a
jg 0x1000bfd1
sub al, 0x20
mov byte [ecx], al
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1000bfc3
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x1000bfe5
xor ecx, ecx
jmp 0x1000bff9
mov cl, byte [edx]
mov eax, edx
test cl, cl
je 0x1000bff5
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000bfed
sub eax, edx
mov ecx, eax
test ebx, ebx
jne 0x1000c001
xor eax, eax
jmp 0x1000c010
cmp byte [ebx], 0
mov eax, ebx
je 0x1000c00e
inc eax
cmp byte [eax], 0
jne 0x1000c008
sub eax, ebx
cmp ecx, eax
jle 0x1000c01a
movsx esi, byte [eax + edx]
jmp 0x1000c08b
jge 0x1000c024
movsx esi, byte [ecx + ebx]
neg esi
jmp 0x1000c08b
test edx, edx
je 0x1000c1e3
test ebx, ebx
je 0x1000c1e3
push 4
push ecx
call fcn.1003114a
mov esi, dword [esp + 0x18]
add esp, 8
xor ebp, ebp
mov edi, ebx
test eax, eax
jle 0x1000c062
mov ecx, dword [esi]
add esi, 4
sub ecx, dword [edi]
add edi, 4
test ecx, ecx
jne 0x1000c0e0
inc ebp
cmp ebp, eax
jl 0x1000c04b
test edx, edx
je 0x1000c083
xor ebp, ebp
mov ecx, esi
test edx, edx
jle 0x1000c083
sub edi, esi
movsx esi, byte [ecx + edi]
movsx eax, byte [ecx]
sub eax, esi
inc ecx
test eax, eax
jne 0x1000c085
inc ebp
cmp ebp, edx
jl 0x1000c070
xor eax, eax
mov edx, dword [esp + 0x10]
mov esi, eax
push edx
call fcn.10030d5b
push ebx
call fcn.10030d5b
add esp, 8
test esi, esi
je 0x1000c1a2
push 0x7d0
call fcn.10030d66
mov edx, dword [esp + 0x6c]
add esp, 4
mov esi, eax
push 0x7d0
push esi
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov al, byte [esp + 0x68]
xor edi, edi
cmp esi, edi
mov byte [esp + 0x14], al
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
jne 0x1000c0e4
xor ebp, ebp
jmp 0x1000c0f8
mov eax, ecx
jmp 0x1000c085
mov cl, byte [esi]
mov eax, esi
test cl, cl
je 0x1000c0f4
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1000c0ec
sub eax, esi
mov ebp, eax
push 1
push ebp
lea ecx, [esp + 0x1c]
call fcn.100163c0
test al, al
je 0x1000c132
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x1000c126
cmp esi, edi
je 0x1000c126
cmp ebp, edi
je 0x1000c126
mov ecx, esi
lea edi, [ebp]
mov dl, byte [ecx]
mov byte [eax], dl
inc eax
inc ecx
dec edi
jne 0x1000c11d
push ebp
lea ecx, [esp + 0x18]
call fcn.100163a0
xor edi, edi
push esi
mov dword [esp + 0x64], edi
call fcn.10030d5b
lea eax, [esp + 0x18]
push 0x1004aae0
push eax
call fcn.100040a0
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, edi
jne 0x1000c15b
mov eax, 0x1003d334
mov ecx, dword [esp + 0x68]
push eax
push edi
push 0xc
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], 0xffffffff
cmp ecx, edi
je 0x1000c196
mov al, byte [ecx - 1]
test al, al
je 0x1000c18c
cmp al, 0xff
je 0x1000c18c
dec al
mov byte [ecx - 1], al
jmp 0x1000c196
dec ecx
push ecx
call fcn.10030d5b
add esp, 4
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0x68]
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 5
push edx
call edi
push 0
push eax
call edi
mov esi, eax
test esi, esi
je 0x1000c1d0
push esi
call fcn.1000b970
add esp, 4
push 2
push esi
call edi
mov esi, eax
test esi, esi
jne 0x1000c1bc
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x54
ret
push 0
push 0
call fcn.1003116f
push 0
push 0
call fcn.1003116f
push 0
push 0
call fcn.1003116f
push 0
push 0
call fcn.1003116f
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
push esi
push edi
push eax
call fcn.100037e0
add esp, 4
push 5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push eax
call edi
push 0
push eax
call edi
mov esi, eax
test esi, esi
je 0x1000c27b
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea ecx, [ebp + 8]
push ecx
push esi
call ebx
test eax, eax
je 0x1000c26f
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x20]
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
cmp edx, eax
jne 0x1000c26f
push esi
call fcn.1000b970
add esp, 4
push 2
push esi
call edi
mov esi, eax
test esi, esi
jne 0x1000c245
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret