Function at 0x43b100
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4bc
mov dword [ebp - 0x490], edx
mov edx, dword [0x4a8c08]
mov dword [ebp - 0x48c], eax
cmp edx, 0xffffffff
jle 0x43b68a
mov dword [esp], edx
mov eax, dword [0x4a8be8]
mov dword [esp + 4], eax
call fcn.00412230
mov edx, dword [ebp - 0x48c]
mov ebx, 0x3ed
mov dword [esp + 4], ebx
mov dword [esp], edx
call sub.USER32.dll_GetDlgItem
sub esp, 8
test eax, eax
mov esi, eax
je 0x43b34e
mov dword [esp], esi
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
mov edi, 0x147
mov dword [esp + 8], eax
mov dword [esp + 4], edi
call fcn.0044e1c5
sub esp, 0x10
test eax, eax
jne 0x43b5f8
xor edx, edx
xor esi, esi
mov ecx, str._dx_d
mov dword [esp + 0xc], edx
lea eax, [ebp - 0xe8]
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
mov ebx, dword [ebp - 0x48c]
mov edi, 0x479
mov dword [esp + 4], edi
mov dword [esp], ebx
call sub.USER32.dll_GetDlgItem
sub esp, 8
test eax, eax
mov ebx, eax
je 0x43b246
mov dword [esp], ebx
xor ecx, ecx
xor esi, esi
mov dword [esp + 0xc], esi
mov eax, 0x147
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.0044e1c5
sub esp, 0x10
cmp eax, 0xffffffff
je 0x43b222
mov dword [esp + 8], eax
xor edi, edi
mov edx, 0x150
mov dword [esp + 0xc], edi
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0044e1c5
sub esp, 0x10
cmp eax, 0x18
je 0x43b7b0
jg 0x43b7cf
cmp eax, 0x10
je 0x43b7f7
lea eax, [ebp - 0xe8]
xor ebx, ebx
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov byte [eax + ebp - 0xe6], bl
mov ecx, 0x3078
mov word [eax + ebp - 0xe8], cx
mov esi, dword [ebp - 0x48c]
mov edx, 0x47c
mov dword [esp + 4], edx
mov dword [esp], esi
call sub.USER32.dll_GetDlgItem
sub esp, 8
test eax, eax
mov esi, eax
je 0x43b2f9
mov dword [esp], esi
xor edx, edx
mov ecx, 0x147
mov dword [esp + 0xc], edx
xor eax, eax
xor ebx, ebx
mov dword [esp + 4], ecx
mov edi, 0x150
mov dword [esp + 8], eax
call fcn.0044e1c5
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp], esi
lea esi, [ebp - 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
call fcn.0044e1c5
sub esp, 0x10
mov ebx, eax
mov edi, dword [esi]
add esi, 4
lea edx, [edi - 0x1010101]
not edi
and edx, edi
mov ecx, edx
and ecx, 0x80808080
je 0x43b2b0
mov dword [esp + 8], ebx
mov edi, ecx
shr edi, 0x10
and edx, 0x8080
lea edx, [esi + 2]
mov ebx, str.__ld
cmove ecx, edi
mov al, cl
cmove esi, edx
add al, cl
sbb esi, 3
mov dword [esp + 4], ebx
mov dword [esp], esi
call sub.msvcrt.dll_sprintf
cld
mov ecx, 8
mov edi, str.0x0x0_0
lea esi, [ebp - 0xe8]
repe cmpsb byte [esi], byte es:[edi]
jne 0x43b320
mov byte [ebp - 0xe4], 0
mov ebx, 0x6f747561
mov dword [ebp - 0xe8], ebx
mov edi, dword [ebp - 0x490]
add edi, 0xc8
mov dword [esp], edi
call fcn.00429600
lea eax, [ebp - 0xe8]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x490]
mov dword [edx + 0xc8], eax
mov ebx, dword [ebp - 0x48c]
mov edi, 0x482
mov dword [esp + 4], edi
mov dword [esp], ebx
call sub.USER32.dll_GetDlgItem
mov esi, dword [ebp - 0x48c]
sub esp, 8
mov ebx, eax
mov eax, 0x483
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.USER32.dll_GetDlgItem
sub esp, 8
test ebx, ebx
setne cl
xor edx, edx
test eax, eax
setne dl
test ecx, edx
mov esi, eax
jne 0x43b6af
mov edi, dword [ebp - 0x48c]
mov ebx, 0x4d9
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.USER32.dll_GetDlgItem
sub esp, 8
test eax, eax
mov esi, eax
je 0x43b5f0
mov edx, 0xc8
xor ecx, ecx
mov edi, 0xffffffff
mov dword [ebp - 0x494], edi
mov eax, 1
lea ebx, [ebp - 0x418]
mov dword [ebp - 0x498], eax
xor edi, edi
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call sub.msvcrt.dll_memset
xor eax, eax
xor edx, edx
mov ecx, 0x1004
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.0044e1c5
sub esp, 0x10
cmp eax, edi
jle 0x43b59c
nop
lea esi, [esi]
mov dword [esp + 8], edi
mov edx, 0xf000
mov ecx, 0x102c
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.0044e1c5
shr eax, 0xc
sub esp, 0x10
dec eax
je 0x43b573
mov dword [esp + 8], edi
mov edx, 2
mov ecx, 0x190
mov dword [ebp - 0x440], edx
lea eax, [ebp - 0x348]
lea edx, [ebp - 0x448]
mov dword [ebp - 0x430], ecx
mov ecx, 0x1073
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
mov dword [ebp - 0x434], eax
mov dword [esp], esi
call fcn.0044e1c5
sub esp, 0x10
lea eax, [ebp - 0x348]
mov dword [esp], eax
call fcn.0042a020
mov dword [esp], eax
call sub.msvcrt.dll_atoi
cmp dword [ebp - 0x494], eax
je 0x43b4f1
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x498]
test eax, eax
je 0x43b672
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov word [eax + ebx], 0x6a
xor ecx, ecx
mov dword [ebp - 0x498], ecx
lea edx, [ebp - 0x348]
mov dword [esp], edx
call fcn.0042a020
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcat
mov dword [esp + 8], edi
mov eax, 3
mov edx, 0x190
mov dword [ebp - 0x470], eax
lea ecx, [ebp - 0x348]
lea eax, [ebp - 0x478]
mov dword [ebp - 0x460], edx
mov edx, 0x1073
mov dword [esp + 4], edx
mov dword [ebp - 0x464], ecx
mov dword [esp + 0xc], eax
mov dword [esp], esi
call fcn.0044e1c5
sub esp, 0x10
lea ecx, [ebp - 0x348]
mov dword [esp], ecx
call fcn.0042a020
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov word [eax + ebx], 0x61
lea eax, [ebp - 0x348]
mov dword [esp], eax
call fcn.0042a020
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcat
mov dword [esp], esi
xor eax, eax
xor edx, edx
mov dword [esp + 0xc], eax
mov ecx, 0x1004
inc edi
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
call fcn.0044e1c5
sub esp, 0x10
cmp eax, edi
jg 0x43b420
mov edi, dword [ebp - 0x490]
mov esi, dword [edi + 0x19c]
mov dword [esp], ebx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_mame_stricmp]
test eax, eax
je 0x43b5f0
mov ecx, dword [ebp - 0x490]
add ecx, 0x19c
mov dword [esp], ecx
call fcn.00429600
mov dword [esp], ebx
call sub.msvcrt.dll__strdup
mov ebx, dword [ebp - 0x490]
mov dword [ebx + 0x19c], eax
jmp 0x43b5f0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], esi
mov ecx, 0xc7
lea eax, [ebp - 0xe8]
mov dword [esp + 8], ecx
lea edi, [ebp - 0x47c]
lea ebx, [ebp - 0x480]
mov dword [esp + 4], eax
lea esi, [ebp - 0xe8]
call fcn.0042c260
mov dword [esp + 0xc], edi
mov edx, str._d_x__d
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], esi
call sub.msvcrt.dll_sscanf
cmp eax, 2
jne 0x43b184
mov edi, dword [ebp - 0x47c]
mov edx, str._dx_d
lea esi, [ebp - 0xe8]
mov dword [esp + 4], edx
mov ebx, dword [ebp - 0x480]
mov dword [esp], esi
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
jmp 0x43b1a2
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov word [eax + ebx], 0x6a2c
mov byte [eax + ebx + 2], 0
jmp 0x43b4d7
mov edx, dword [0x4a8c58]
test edx, edx
je 0x43b138
mov dword [esp], edx
mov ecx, dword [0x4a8be8]
mov dword [esp + 4], ecx
call fcn.00413fc0
jmp 0x43b138
mov dword [esp], ebx
mov edi, 0xc8
xor edx, edx
mov dword [esp + 8], edi
xor eax, eax
lea edi, [ebp - 0x1b8]
mov dword [ebp - 0x488], edx
mov ebx, 0x465400
mov dword [ebp - 0x484], eax
mov dword [esp + 4], edi
call sub.USER32.dll_GetWindowTextA
sub esp, 0xc
lea ecx, [ebp - 0x484]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.msvcrt.dll_sscanf
mov dword [esp + 4], edi
mov eax, 0xc8
mov dword [esp + 8], eax
mov dword [esp], esi
call sub.USER32.dll_GetWindowTextA
sub esp, 0xc
lea edx, [ebp - 0x488]
mov ecx, 0x465400
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], edi
call sub.msvcrt.dll_sscanf
mov edx, dword [ebp - 0x484]
test edx, edx
jne 0x43b7a4
mov ebx, 4
mov esi, 3
mov edx, 4
mov dword [ebp - 0x484], ebx
mov eax, 3
mov dword [ebp - 0x488], esi
mov dword [esp + 0x10], eax
mov esi, str._d:_d
mov eax, 0xc8
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0044ff50
mov edx, dword [ebp - 0x490]
add edx, 0xc4
mov dword [esp], edx
call fcn.00429600
mov dword [esp], edi
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp - 0x490]
mov dword [ecx + 0xc4], eax
jmp 0x43b39a
mov eax, dword [ebp - 0x488]
test eax, eax
jne 0x43b755
jmp 0x43b735
lea ebx, [ebp - 0xe8]
mov edi, 0x343278
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [eax + ebp - 0xe8], edi
jmp 0x43b246
cmp eax, 0x20
jne 0x43b222
lea eax, [ebp - 0xe8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ecx, 0x323378
mov dword [eax + ebp - 0xe8], ecx
jmp 0x43b246
lea edx, [ebp - 0xe8]
mov esi, 0x363178
mov dword [esp], edx
call sub.msvcrt.dll_strlen
mov dword [eax + ebp - 0xe8], esi
jmp 0x43b246