Function at 0x10b3ca00
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x2a8
mov eax, dword [esp + 0x2b0]
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp eax, edi
mov dword [esp + 0x30], edi
je 0x10b3ca2c
lea ecx, [esp + 0x5c]
push 0x96
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov edx, dword [esp + 0x2bc]
push edx
call sym.PBVM90.dll_pbstg_new_pool
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x2c], edi
mov esi, eax
add ecx, eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x3c], ecx
jmp 0x10b3ca61
mov esi, dword [esp + 0x10]
mov al, byte [esi]
mov edi, dword [sym.imp.MSVCRT.dll__mbschr]
mov ebx, dword [sym.imp.MSVCRT.dll_strchr]
test al, al
je 0x10b3cfe8
xor ebp, ebp
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x24], ebp
mov dword [esp + 0x38], ebp
call fcn.10bd19f0
test eax, eax
push 0xd
push esi
je 0x10b3ca99
call edi
jmp 0x10b3ca9b
call ebx
add esp, 8
cmp eax, ebp
mov dword [esp + 0x18], eax
jne 0x10b3cadb
call fcn.10bd19f0
test eax, eax
push 0xa
push esi
je 0x10b3cab6
call edi
jmp 0x10b3cab8
call ebx
add esp, 8
cmp eax, ebp
mov dword [esp + 0x18], eax
jne 0x10b3cadb
call fcn.10bd19f0
test eax, eax
push ebp
push esi
je 0x10b3cad2
call edi
jmp 0x10b3cad4
call ebx
add esp, 8
mov dword [esp + 0x18], eax
mov byte [eax], 0
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ecx + esi - 1]
mov cl, byte [ecx + esi - 1]
cmp cl, 0x29
jne 0x10b3cc66
call fcn.10bd19f0
test eax, eax
push 0x28
push esi
je 0x10b3cb0f
call dword [sym.imp.MSVCRT.dll__mbsrchr]
jmp 0x10b3cb15
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x10b3cc66
lea ebp, [eax + 1]
mov byte [eax], 0
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
mov esi, dword [esp + 0x2bc]
repne scasb al, byte es:[edi]
not ecx
add ecx, 4
push 0
push ecx
push esi
call sym.PBVM90.dll_pbstg_alc
mov ebx, eax
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 4
push 0
push ecx
push esi
mov dword [esp + 0x30], ebx
call sym.PBVM90.dll_pbstg_alc
mov esi, eax
mov dword [esp + 0x20], esi
call fcn.10bd19f0
test eax, eax
je 0x10b3cb81
push ebp
push ebx
call dword [sym.imp.MSVCRT.dll__mbscpy]
add esp, 8
jmp 0x10b3cba4
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x20]
call fcn.10bd19f0
test eax, eax
je 0x10b3cbba
push ebp
push esi
call dword [sym.imp.MSVCRT.dll__mbscpy]
add esp, 8
jmp 0x10b3cbdf
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x20]
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, esi
mov byte [ecx + ebx - 1], al
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ecx + esi - 1], al
call fcn.10bd19f0
test eax, eax
je 0x10b3cc17
push 0x10dee9ac
push ebx
call dword [sym.imp.MSVCRT.dll__mbscat]
add esp, 8
jmp 0x10b3cc32
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov ecx, dword [0x10dee9b4]
dec edi
mov dword [edi], ecx
mov dl, byte [0x10dee9b8]
mov byte [edi + 4], dl
call fcn.10bd19f0
test eax, eax
je 0x10b3cc4c
push 0x10dee9bc
push esi
call dword [sym.imp.MSVCRT.dll__mbscat]
add esp, 8
jmp 0x10b3cc66
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [0x10dee9c4]
dec edi
mov dword [edi], eax
mov cl, byte [0x10dee9c8]
mov byte [edi + 4], cl
mov eax, dword [esp + 0x2c4]
test eax, eax
je 0x10b3cc75
mov ebx, eax
jmp 0x10b3cc90
mov edx, dword [esp + 0x2c8]
mov eax, dword [esp + 0x2bc]
push 0
push 3
push edx
push eax
call sym.PBVM90.dll_LMI_OpenLibrary
mov ebx, eax
test ebx, ebx
je 0x10b3ccb8
mov eax, dword [esp + 0x2c4]
test eax, eax
jne 0x10b3ccc0
mov ecx, dword [esp + 0x10]
push ecx
push ebx
call sym.PBVM90.dll_LMI_EntryExists
test eax, eax
jne 0x10b3ccc0
push ebx
call sym.PBVM90.dll_LMI_CloseLibrary
xor ebx, ebx
jmp 0x10b3ccc0
mov dword [esp + 0x14], 0x5337
test ebx, ebx
je 0x10b3cf33
mov edi, dword [esp + 0x24]
xor ebp, ebp
test edi, edi
je 0x10b3cdc9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2bc]
push ebp
push 1
push edx
push eax
mov dword [esp + 0x24], 0x5337
call sym.PBVM90.dll_LMI_OpenLibrary
mov esi, eax
test esi, esi
je 0x10b3cdb2
push ebp
push 1
push edi
push esi
call sym.PBVM90.dll_LMI_OpenEntry
test eax, eax
jne 0x10b3cd54
lea ecx, [esp + 0x44]
push ecx
push edi
push esi
call sym.PBVM90.dll_LMI_EntryInformation
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
push edx
mov dword [esp + 0x20], eax
push eax
mov eax, dword [esp + 0x2c4]
push eax
call sym.PBVM90.dll_pbstg_alc
mov ebp, eax
mov ecx, dword [esp + 0x48]
push ecx
push ebp
push esi
call sym.PBVM90.dll_LMI_ReadEntry
cmp eax, dword [esp + 0x48]
jne 0x10b3cd4e
mov dword [esp + 0x14], 0xffffffff
push esi
call sym.PBVM90.dll_LMI_CloseEntry
mov edi, dword [esp + 0x20]
push 0
push 1
push edi
push esi
call sym.PBVM90.dll_LMI_OpenEntry
test eax, eax
jne 0x10b3cdac
lea edx, [esp + 0x50]
mov dword [esp + 0x38], 1
push edx
push edi
push esi
call sym.PBVM90.dll_LMI_EntryInformation
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x2bc]
push ecx
push eax
push edx
mov dword [esp + 0x4c], eax
call sym.PBVM90.dll_pbstg_alc
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x30], eax
push ecx
push eax
push esi
call sym.PBVM90.dll_LMI_ReadEntry
push esi
call sym.PBVM90.dll_LMI_CloseEntry
push esi
call sym.PBVM90.dll_LMI_CloseLibrary
cmp dword [esp + 0x14], 0xffffffff
je 0x10b3ce7b
mov edx, dword [esp + 0x34]
mov byte [edx], 0x28
jmp 0x10b3ce74
mov eax, dword [esp + 0x10]
push 1
push eax
call fcn.10bc4850
mov edi, eax
add esp, 8
cmp edi, 0xffffffff
je 0x10b3ce6c
push edi
call fcn.10bc4840
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x2c0]
add esp, 4
mov dword [esp + 0x1c], eax
push ecx
push eax
push edx
call sym.PBVM90.dll_pbstg_alc
push 0
push 3
push edi
mov ebp, eax
call fcn.10bc48c0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, 0xfa0
mov esi, ebp
jl 0x10b3ce24
mov eax, 0xfa0
push eax
push ebp
push edi
call fcn.10bc48f0
add esp, 0xc
test eax, eax
jle 0x10b3ce61
cmp eax, 0xfa0
jl 0x10b3ce61
mov ecx, dword [esp + 0x1c]
add esi, eax
mov eax, ebp
sub eax, esi
add eax, ecx
cmp eax, 0xfa0
jl 0x10b3ce52
mov eax, 0xfa0
push eax
push esi
push edi
call fcn.10bc48f0
add esp, 0xc
test eax, eax
jg 0x10b3ce33
push edi
call fcn.10bc47c0
add esp, 4
jmp 0x10b3ce74
mov dword [esp + 0x14], 0x5337
cmp dword [esp + 0x14], 0xffffffff
jne 0x10b3cebf
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x10b3ce87
mov eax, dword [esp + 0x10]
push 0
push 3
push eax
push ebx
call sym.PBVM90.dll_LMI_OpenEntry
mov esi, eax
test esi, esi
jne 0x10b3ceb7
mov edi, dword [esp + 0x1c]
push edi
push ebp
push ebx
call sym.PBVM90.dll_LMI_WriteEntry
cmp eax, edi
je 0x10b3cead
mov esi, 0xfffffffd
push ebx
call sym.PBVM90.dll_LMI_CloseEntry
test esi, esi
je 0x10b3cebf
mov dword [esp + 0x14], 0x5337
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10b3cefa
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10b3cefa
mov edx, dword [esp + 0x20]
push 0
push 3
push edx
push ebx
call sym.PBVM90.dll_LMI_OpenEntry
test eax, eax
jne 0x10b3cefa
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x30]
push eax
push esi
push ebx
call sym.PBVM90.dll_LMI_WriteEntry
push ebx
call sym.PBVM90.dll_LMI_CloseEntry
jmp 0x10b3cefe
mov esi, dword [esp + 0x30]
test ebp, ebp
je 0x10b3cf10
mov ecx, dword [esp + 0x2bc]
push ebp
push ecx
call sym.PBVM90.dll_pbstg_fee
test esi, esi
je 0x10b3cf22
mov edx, dword [esp + 0x2bc]
push esi
push edx
call sym.PBVM90.dll_pbstg_fee
mov eax, dword [esp + 0x2c4]
test eax, eax
jne 0x10b3cf33
push ebx
call sym.PBVM90.dll_LMI_CloseLibrary
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x10b3cfad
mov edx, dword [0x10e2cbb0]
lea ecx, [esp + 0xf4]
push 0xc8
push ecx
push eax
push edx
call dword [sym.imp.USER32.dll_LoadStringA]
lea ecx, [esp + 0xf4]
lea edx, [esp + 0x1bc]
mov eax, dword [esp + 0x10]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x2cc]
add esp, 0xc
test eax, eax
je 0x10b3cfa5
lea ecx, [esp + 0x5c]
push 0x24
lea edx, [esp + 0x1c0]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x10b3cfad
mov dword [esp + 0x2c], 1
jmp 0x10b3cfad
mov dword [esp + 0x2c], 0
mov esi, dword [esp + 0x2c]
test esi, esi
jne 0x10b3cfe8
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
mov dword [esp + 0x10], ecx
jae 0x10b3cfe0
mov al, byte [ecx]
cmp al, 0xd
je 0x10b3cfd7
cmp al, 0xa
je 0x10b3cfd7
test al, al
je 0x10b3cfd7
cmp al, 0x20
jne 0x10b3cfdc
inc ecx
cmp ecx, edx
jb 0x10b3cfc5
mov dword [esp + 0x10], ecx
test esi, esi
je 0x10b3ca5d
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2bc]
push eax
push ecx
call sym.PBVM90.dll_pbstg_free_pool
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2a8
ret 0x18