Function at 0x4bba30
Capabilities:
Get graphical window text

Disassembly:
sub esp, 8
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 4]
xor ebp, ebp
cmp eax, ebp
je 0x4bc6da
cmp dword [esi + 8], ebp
je 0x4bc6da
mov ecx, dword [esi + 0xc]
cmp ecx, ebp
je 0x4bc6da
push ebx
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebp
call fcn.004572a0
mov ecx, dword [esi]
mov ebx, eax
mov eax, dword [esi + 0x18ec]
push eax
push ebp
neg ebx
sbb ebx, ebx
push 1
push ebp
xor edx, edx
neg ebx
call fcn.004e8440
mov ecx, esi
call fcn.0048bbb0
test eax, eax
jne 0x4bc6d8
mov ecx, dword [esi + 0x18ec]
test byte [ecx + 0x1e80], 0x20
je 0x4bbb66
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x28
jne 0x4bbb16
cmp byte [eax + 1], 0x23
jne 0x4bbb16
cmp byte [eax + 2], 0x47
jne 0x4bbb16
push 0x29
push eax
call fcn.00570260
add esp, 8
cmp eax, ebp
je 0x4bbb16
mov byte [eax], 0
mov ebp, dword [esi + 0xc]
mov ecx, ebp
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4bbad3
sub ecx, edi
cmp ecx, 0xb
jb 0x4bbb0f
mov dl, byte [eax + 1]
test dl, dl
lea ecx, [eax + 1]
je 0x4bbb0f
mov dl, byte [ecx + 1]
inc ecx
test dl, dl
je 0x4bbb0f
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4bbaf8
sub eax, edi
inc eax
push eax
push ecx
push ebp
call fcn.00571040
add esp, 0xc
jmp 0x4bbb12
mov byte [eax], 0x29
mov ebp, dword [esp + 0x14]
mov edx, dword [esi + 0x18ec]
mov ecx, dword [esi]
call fcn.004ff610
test al, al
je 0x4bbb66
mov eax, dword [esi + 0x18ec]
mov edx, dword [eax + 0xf28]
mov ecx, dword [esi + 8]
imul edx, edx, 0x64
lea eax, [edx + eax + 0xdfc]
push eax
push ecx
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4bbb66
mov edx, dword [esi]
lea edi, [esi + 0xf14]
push edx
mov edx, 0x104
mov ecx, edi
call fcn.0041ee40
mov dword [esi + 8], edi
mov eax, dword [0x5a07dc]
test eax, eax
je 0x4bbb7c
mov ecx, dword [esi + 0xc]
cmp byte [ecx], 0
je 0x4bbb7c
call fcn.00417ff0
mov eax, dword [esi + 0xc]
cmp byte [eax], 0
je 0x4bbbdb
mov eax, dword [0x5a9720]
test eax, eax
je 0x4bbba4
mov edx, str.codes
mov ecx, esi
call fcn.004bf540
test eax, eax
je 0x4bbba4
mov edx, 0xf
jmp 0x4bbbcd
mov eax, dword [esi + 0x18ec]
mov ecx, dword [eax + 0xf28]
imul ecx, ecx, 0x64
lea edx, [ecx + eax + 0xdfc]
mov eax, dword [esi]
push edx
push eax
call fcn.005809c6
add esp, 8
test eax, eax
je 0x4bbbdb
or edx, 0xffffffff
mov ecx, dword [esi + 0xc]
call fcn.00524b30
mov dword [esi + 0xe0c], eax
mov ecx, esi
call fcn.004c0a60
test eax, eax
je 0x4bc6d8
mov edx, dword [esi + 0x18ec]
mov ecx, dword [esi + 8]
call fcn.004ff610
test al, al
mov edx, dword [esi + 0x18ec]
je 0x4bbcac
mov ecx, dword [esi + 8]
call fcn.004e2e60
mov edi, eax
test edi, edi
je 0x4bbd07
mov ecx, dword [esi]
push 0
push 2
mov edx, edi
call fcn.004e50f0
test eax, eax
je 0x4bbc46
mov ecx, dword [esi + 0x18ec]
push ecx
mov ecx, dword [esi]
push 0
lea edx, [esi + 0x1503]
push edx
mov edx, dword [esi + 0xddc]
call fcn.0049a710
mov edx, dword [esi]
mov ecx, edi
call fcn.00432760
mov eax, dword [0x5a9720]
test eax, eax
je 0x4bbc6c
mov edx, str.channel
mov ecx, esi
call fcn.004bf540
test eax, eax
jne 0x4bc6d8
mov eax, dword [0x5b122c]
test eax, eax
je 0x4bbca5
lea ebp, [esi + 0x1503]
mov edx, 0x3e7
mov ecx, ebp
call fcn.0041ef30
push esi
mov edx, ebp
mov ecx, 3
call fcn.004f4660
mov eax, dword [esi + 0x18ec]
mov edx, dword [esi]
push eax
push ebp
mov ecx, edi
call fcn.00520b60
mov ebp, 2
jmp 0x4bbd03
mov ecx, dword [esi]
call fcn.004beed0
test eax, eax
je 0x4bbcd4
mov ecx, dword [esi + 0x18ec]
push ecx
mov ecx, dword [esi]
push 0
lea edx, [esi + 0x1503]
push edx
mov edx, dword [esi + 0xddc]
call fcn.0049a710
mov edx, dword [esi + 0x18ec]
mov ecx, dword [esi]
call fcn.004e2e60
test ebx, ebx
mov edi, eax
je 0x4bbcfe
mov eax, dword [esi + 0xc]
push 7
push 0x584c24
push eax
call fcn.00580a2f
add esp, 0xc
test eax, eax
jne 0x4bbd07
mov ebp, 1
mov dword [esp + 0x14], ebp
mov edx, esi
mov ecx, edi
call fcn.004c0b60
test ebx, ebx
je 0x4bbddc
mov ecx, dword [esi + 0xc]
push 7
push 0x584c24
push ecx
call fcn.00580a2f
add esp, 0xc
test eax, eax
jne 0x4bbd78
test edi, edi
jne 0x4bbdb7
mov eax, dword [0x5a9720]
test eax, eax
je 0x4bbd66
mov edx, dword [esi + 0x18ec]
mov ecx, dword [esi + 8]
call fcn.004ff610
test al, al
jne 0x4bbd66
mov edx, str.private
mov ecx, esi
call fcn.004bf540
test eax, eax
jne 0x4bc6d8
mov edx, dword [esi + 0x18ec]
mov ecx, dword [esi + 8]
call fcn.004ff610
test al, al
jmp 0x4bbdb1
mov edx, dword [esi + 0xc]
push 4
push 0x588c30
push edx
call fcn.00580a2f
add esp, 0xc
test eax, eax
mov eax, dword [0x5a9720]
jne 0x4bbd9f
test eax, eax
je 0x4bbdb7
mov edx, 0x583d70
jmp 0x4bbda8
test eax, eax
je 0x4bbdb7
mov edx, 0x583d7c
mov ecx, esi
call fcn.004bf540
test eax, eax
jne 0x4bc6d8
test ebp, ebp
je 0x4bbdcb
mov eax, dword [esi + 0x18ec]
mov ecx, dword [esi]
push eax
mov edx, ebp
call fcn.00529f50
mov edx, edi
mov ecx, esi
call fcn.004580a0
pop edi
pop ebx
pop esi
pop ebp
add esp, 8
ret
mov edx, dword [esi + 0x18ec]
mov ecx, dword [esi + 8]
call fcn.004ff610
test al, al
je 0x4bbf55
test edi, edi
mov ebx, 1
je 0x4bbf3d
cmp dword [edi + 0x708], ebx
jne 0x4bbf3d
test ebp, ebp
je 0x4bbe1f
mov ecx, dword [esi + 0x18ec]
push ecx
mov ecx, dword [esi]
mov edx, ebp
call fcn.00529f50
mov eax, dword [0x59b174]
test eax, eax
je 0x4bbe47
mov edx, ebx
mov ecx, edi
call fcn.00411e30
test eax, eax
je 0x4bbe47
mov edx, dword [esi + 0x18ec]
push 0
push edx
mov edx, ebx
mov ecx, esi
call fcn.004145c0
mov eax, dword [0x5ae60c]
test eax, eax
je 0x4bbe75
mov ecx, dword [esi + 0x18ec]
push 0
lea eax, [esp + 0x14]
push eax
push ebx
push 0x42
push str.TEXT
push esi
xor edx, edx
call fcn.0050e610
test eax, eax
je 0x4bc6b1
lea eax, [esi + 0xde8]
mov dword [0x59bcec], 0
mov dword [0x5ae230], 2
mov dword [0x5ae234], ebx
mov dword [0x5ae238], ebx
mov dword [0x5ae23c], ebx
mov dword [0x5ae240], ebx
cmp byte [eax], 0
lea ebp, [esi + 0x111c]
je 0x4bbee5
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x18ec]
mov ebx, dword [0x5a5510]
push ecx
push eax
mov eax, dword [esi]
push edx
push eax
mov edx, 1
mov ecx, edi
call fcn.004e4eb0
push eax
push str._s:_s_s
push ebp
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x4bbf11
mov ecx, dword [esi + 0x18ec]
mov edx, dword [esi]
mov ebx, dword [0x5a550c]
push ecx
push edx
mov edx, 1
mov ecx, edi
call fcn.004e4eb0
push eax
push 0x585c34
push ebp
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push esi
mov edx, ebp
mov ecx, 3
call fcn.004f4660
mov dword [0x5ae24c], 1
mov eax, dword [esi]
mov dword [0x5ae250], eax
mov ecx, dword [esi]
mov dword [0x5ae254], ecx
push ebx
jmp 0x4bc6a8
mov eax, dword [esi + 8]
push 0x2e
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x4bc6d8
jmp 0x4bbf66
mov ecx, dword [esi + 8]
cmp byte [ecx], 0x24
jne 0x4bc054
mov ebx, 1
test ebp, ebp
je 0x4bbf7a
mov edx, dword [esi + 0x18ec]
mov ecx, dword [esi]
push edx
mov edx, ebp
call fcn.00529f50
mov eax, dword [0x59b1ac]
test eax, eax
je 0x4bbfa1
mov eax, dword [0x59fa90]
test eax, eax
je 0x4bbfa1
mov eax, dword [esi + 0x18ec]
push 0
push eax
mov edx, 6
mov ecx, esi
call fcn.004145c0
mov eax, dword [0x5ae60c]
test eax, eax
je 0x4bbfcb
push 0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 0x18ec]
push ebx
push 0x42
push str.TEXT
push esi
xor edx, edx
call fcn.0050e610
test eax, eax
je 0x4bc03b
mov dword [0x59bcec], 0
mov dword [0x5ae230], 2
mov dword [0x5ae234], ebx
mov dword [0x5ae23c], ebx
mov edx, dword [esi]
push edx
lea edi, [esi + 0x111c]
push 0x588c14
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push esi
mov edx, edi
mov ecx, 3
call fcn.004f4660
mov edx, dword [0x5a5510]
mov dword [0x5ae24c], ebx
mov eax, dword [esi]
mov dword [0x5ae250], eax
mov ecx, dword [esi]
mov dword [0x5ae254], ecx
mov eax, dword [esi + 0x18ec]
mov ecx, dword [eax]
push edx
mov edx, edi
call fcn.00503ad0
mov eax, dword [0x5ae60c]
test eax, eax
je 0x4bc6d8
push 0
lea ecx, [esp + 0x14]
push ecx
jmp 0x4bc6c1
test edi, edi
jne 0x4bc075
mov eax, dword [0x5a9720]
test eax, eax
je 0x4bc075
mov edx, str.private
mov ecx, esi
call fcn.004bf540
test eax, eax
jne 0x4bc6d8
mov eax, dword [0x5b122c]
test eax, eax
je 0x4bc0ba
lea ebp, [esi + 0x1503]
mov edx, 0x3e7
mov ecx, ebp
call fcn.0041ef30
push esi
mov edx, ebp
mov ecx, 3
call fcn.004f4660
mov edx, dword [esi + 0x18ec]
push edx
mov edx, dword [esi]
push ebp
mov ecx, edi
call fcn.00520b60
test eax, eax
je 0x4bc0ba
test edi, edi
je 0x4bc6d8
test byte [0x5a9e28], 0x20
jne 0x4bc6d8
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4bc0dd
mov eax, dword [esi + 0x18ec]
mov ecx, dword [esi]
push eax
call fcn.00529f50
test edi, edi
je 0x4bc15c
mov eax, dword [0x59b198]
test eax, eax
je 0x4bc10f
mov edx, 2
mov ecx, edi
call fcn.00411e30
test eax, eax
je 0x4bc10f
mov ecx, dword [esi + 0x18ec]
push 0
push ecx
mov edx, 3
mov ecx, esi
call fcn.004145c0
mov eax, dword [0x5ae60c]
test eax, eax
mov ebx, 1
je 0x4bc142
mov ecx, dword [esi + 0x18ec]
push 0
lea edx, [esp + 0x14]
push edx
push ebx
push 0x42
push str.TEXT
push esi
xor edx, edx
call fcn.0050e610
test eax, eax
je 0x4bc6b1
mov ecx, edi
call fcn.00542ed0
test eax, eax
je 0x4bc6b1
lea ebp, [esi + 0x111c]
jmp 0x4bc630
mov eax, dword [0x5aca80]
test eax, eax
je 0x4bc2ca
mov eax, dword [0x59bccc]
test eax, eax
je 0x4bc19f
mov eax, dword [esi + 0x18ec]
mov edx, dword [esi + 0xddc]
mov ecx, dword [esi]
push eax
call fcn.004e72c0
test eax, eax
je 0x4bc19f
mov ecx, dword [eax + 0x3a0]
mov ebx, 1
cmp ecx, ebx
je 0x4bc2cf
jmp 0x4bc1a4
mov ebx, 1
mov eax, dword [0x5ae60c]
test eax, eax
je 0x4bc1d2
push 0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 0x18ec]
push ebx
push 0x42
push str.TEXT
push esi
xor edx, edx
call fcn.0050e610
test eax, eax
je 0x4bc272
mov ecx, esi
call fcn.004c1060
test eax, eax
je 0x4bc6d8
mov dword [0x59bcec], 0
mov dword [0x5ae230], 2
mov dword [0x5ae234], ebx
mov dword [0x5ae238], ebx
mov dword [0x5ae23c], ebx
mov dword [0x5ae240], ebx
mov edx, dword [esi + 0x18ec]
mov eax, dword [esi]
push edx
push eax
mov edx, ebx
xor ecx, ecx
lea edi, [esi + 0x111c]
call fcn.004e4eb0
push eax
push 0x5860bc
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push esi
mov edx, edi
mov ecx, 3
call fcn.004f4660
mov eax, dword [0x5a550c]
mov dword [0x5ae24c], ebx
mov ecx, dword [esi]
mov dword [0x5ae250], ecx
mov edx, dword [esi]
mov dword [0x5ae254], edx
mov ecx, dword [esi + 0x18ec]
mov ecx, dword [ecx + 0x205c]
push eax
mov edx, edi
call fcn.00502c40
mov eax, dword [0x59b198]
test eax, eax
je 0x4bc2b1
mov edx, dword [esi + 0x18ec]
mov ecx, dword [edx + 0x205c]
call fcn.00542c90
mov edx, 2
mov ecx, eax
call fcn.00411e30
test eax, eax
je 0x4bc2b1
mov eax, dword [esi + 0x18ec]
push 0
push eax
mov edx, 3
mov ecx, esi
call fcn.004145c0
mov eax, dword [0x5ae60c]
test eax, eax
je 0x4bc6d8
push 0
lea ecx, [esp + 0x14]
push ecx
jmp 0x4bc6c1
mov ebx, 1
mov eax, dword [0x5ad0f0]
test eax, eax
je 0x4bc3f7
mov ecx, dword [0x5b4320]
call fcn.00542c90
mov ebp, eax
test ebp, ebp
je 0x4bc3f7
mov eax, dword [esi + 0x18ec]
cmp dword [ebp + 0xbbc], eax
jne 0x4bc3f7
cmp dword [ebp + 0x708], ebx
jne 0x4bc3f7
mov ecx, dword [0x59b198]
test ecx, ecx
je 0x4bc332
mov ecx, dword [0x59fa8c]
test ecx, ecx
je 0x4bc332
push 0
push eax
mov edx, 3
mov ecx, esi
call fcn.004145c0
mov eax, dword [0x5ae60c]
test eax, eax
je 0x4bc360
mov ecx, dword [esi + 0x18ec]
push 0
lea edx, [esp + 0x14]
push edx
push ebx
push 0x42
push str.TEXT
push esi
xor edx, edx
call fcn.0050e610
test eax, eax
je 0x4bc6b1
mov ecx, ebp
call fcn.00542ed0
test eax, eax
je 0x4bc6b1
mov dword [0x59bcec], 0
mov dword [0x5ae230], 2
mov dword [0x5ae234], ebx
mov dword [0x5ae238], ebx
mov dword [0x5ae23c], ebx
mov dword [0x5ae240], ebx
mov eax, dword [esi + 0x18ec]
mov ecx, dword [esi]
push eax
push ecx
mov edx, ebx
xor ecx, ecx
lea edi, [esi + 0x111c]
call fcn.004e4eb0
push eax
push 0x5860bc
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push esi
mov edx, edi
mov ecx, 3
call fcn.004f4660
mov ecx, dword [0x5a5510]
mov dword [0x5ae24c], ebx
mov edx, dword [esi]
mov dword [0x5ae250], edx
mov eax, dword [esi]
mov dword [0x5ae254], eax
push ecx
mov ecx, dword [ebp]
mov edx, edi
jmp 0x4bc6ac
mov eax, dword [0x5ae60c]
test eax, eax
je 0x4bc425
mov ecx, dword [esi + 0x18ec]
push 0
lea eax, [esp + 0x14]
push eax
push ebx
push 0x2d
push str.OPEN
push esi
xor edx, edx
call fcn.0050e610
test eax, eax
je 0x4bc6d8
mov ecx, dword [esi]
lea ebp, [esi + 0x111c]
push ecx
mov edx, 0x3e7
mov ecx, ebp
call fcn.0041ee40
mov edx, dword [esi + 0x18ec]
mov ecx, ebp
call fcn.004e2e60
mov edi, eax
test edi, edi
jne 0x4bc481
mov edx, dword [esi + 0x18ec]
push edx
push eax
push ebx
mov edx, 2
mov ecx, ebp
call fcn.00548f10
test eax, eax
je 0x4bc6d8
mov edx, dword [esi + 0x18ec]
mov ecx, ebp
call fcn.004e2e60
mov edi, eax
test edi, edi
je 0x4bc6d8
mov edx, esi
mov ecx, edi
call fcn.004c0b60
cmp dword [edi + 0x708], 2
jne 0x4bc4f6
cmp dword [edi + 0x70c], 1
jne 0x4bc4f6
lea ebx, [esi + 0x1503]
mov edx, ebx
mov ecx, 0xe7d
call fcn.0041d620
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4bc4b3
mov ecx, dword [edi]
sub eax, edx
push 0x104
lea eax, [eax + esi + 0x1503]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x40
push ebx
call fcn.00570260
add esp, 8
test eax, eax
je 0x4bc4f6
mov eax, dword [edi + 0x6a8]
test eax, eax
je 0x4bc4f6
push 0
mov edx, ebx
mov ecx, edi
call fcn.004cb050
mov eax, dword [0x5aca68]
test eax, eax
je 0x4bc54d
mov eax, dword [0x59b914]
test eax, eax
je 0x4bc518
mov edx, 5
mov ecx, esi
call fcn.00457320
test eax, eax
je 0x4bc54d
mov edx, dword [esi + 0x18ec]
mov ecx, dword [edi]
push edx
mov edx, dword [esi]
call fcn.004bef50
mov eax, dword [esi]
push eax
push str.WHOIS__s_n
push ebp
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esi + 0x18ec]
add esp, 0xc
push ecx
mov edx, 1
mov ecx, ebp
call fcn.0054b400
mov eax, dword [0x59bcd4]
test eax, eax
mov ebx, 1
je 0x4bc58f
mov eax, dword [0x5adb34]
cmp eax, ebx
jne 0x4bc571
mov ecx, dword [0x59bcd8]
call fcn.0041d4f0
jmp 0x4bc58f
cmp eax, 2
jne 0x4bc58f
mov edx, dword [esi + 0x18ec]
push edx
xor edx, edx
xor ecx, ecx
call fcn.004772b0
mov edx, ebx
mov ecx, eax
call fcn.00520010
mov eax, dword [0x59bcd0]
test eax, eax
je 0x4bc5a5
mov edx, dword [esi + 0x18ec]
mov ecx, edi
call fcn.004bffd0
mov eax, dword [0x59b198]
test eax, eax
je 0x4bc5d3
mov edx, 2
mov ecx, edi
call fcn.00411e30
test eax, eax
je 0x4bc5d3
mov eax, dword [esi + 0x18ec]
push 0
push eax
mov edx, 3
mov ecx, esi
call fcn.004145c0
mov eax, dword [0x5ae60c]
test eax, eax
je 0x4bc5fa
push 0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 0x18ec]
push 0
push 0x2d
push str.OPEN
push esi
xor edx, edx
call fcn.0050e610
mov eax, dword [0x5ae60c]
test eax, eax
mov dword [esp + 0x10], 0
je 0x4bc630
mov ecx, dword [esi + 0x18ec]
push 0
lea edx, [esp + 0x14]
push edx
push ebx
push 0x42
push str.TEXT
push esi
xor edx, edx
call fcn.0050e610
test eax, eax
je 0x4bc6b1
mov dword [0x59bcec], 0
mov dword [0x5ae230], 2
mov dword [0x5ae234], ebx
mov dword [0x5ae238], ebx
mov dword [0x5ae23c], ebx
mov dword [0x5ae240], ebx
mov eax, dword [esi + 0x18ec]
mov ecx, dword [esi]
push eax
push ecx
xor ecx, ecx
mov edx, ebx
call fcn.004e4eb0
push eax
push 0x585c34
push ebp
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, 3
mov edx, ebp
push esi
call fcn.004f4660
mov ecx, dword [0x5a550c]
mov dword [0x5ae24c], ebx
mov edx, dword [esi]
mov dword [0x5ae250], edx
mov eax, dword [esi]
mov dword [0x5ae254], eax
push ecx
mov ecx, dword [edi]
mov edx, ebp
call fcn.00502c40
mov eax, dword [0x5ae60c]
test eax, eax
je 0x4bc6d8
lea edx, [esp + 0x10]
push 0
push edx
mov ecx, dword [esi + 0x18ec]
push 0
push 0x42
push str.TEXT
xor edx, edx
push esi
call fcn.0050e610
pop edi
pop ebx
pop esi
pop ebp
add esp, 8
ret