Function at 0x401710
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x280
push ebx
push ebp
push esi
push edi
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x69]
mov byte [esp + 0x68], 0
rep stosd dword es:[edi], eax
mov ebp, dword [esp + 0x294]
push 0xfffffffffffffffa
stosw word es:[edi], ax
stosb byte es:[edi], al
xor edi, edi
push ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov eax, dword [0x441f54]
cmp eax, edi
je 0x40177c
push edi
push eax
call fcn.004160c0
cmp eax, 0x102
jne 0x40177c
push 0x40
push 0x412
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
push str.PolicyNoCheckPatchRotten
call fcn.00408170
test eax, eax
jne 0x4017d8
mov eax, dword [0x442008]
mov ecx, dword [0x44200c]
cmp eax, ecx
je 0x4017d8
call fcn.004081e0
test al, al
push 0x10
je 0x4017be
push 0x415
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
push 0x419
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
test byte [esp + 0x298], 1
je 0x4017ea
mov dword [esp + 0x1c], 1
mov ecx, dword [esp + 0x29c]
lea edx, [esp + 0x18c]
push ecx
push 0x104
push edx
call fcn.0040b3e0
push str.PolicyNoCredentials
call fcn.00408170
test eax, eax
jne 0x401cd7
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
lea eax, [esp + 0x50]
push 0x18
push eax
push 0x65
push ebp
call esi
mov ebx, dword [sym.imp.USER32.dll_GetWindowTextA]
push eax
call ebx
push str.UserNameMin
call fcn.00408190
mov edx, eax
lea edi, [esp + 0x50]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, edx
jae 0x40187c
mov bl, byte [esp + 0x50]
xor ecx, ecx
test bl, bl
setne cl
add ecx, 0x3ef
push edx
push ecx
push 0x40
push ebp
call fcn.00401190
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 0x10
lea edx, [esp + 0x38]
push 0x18
push edx
push 0x66
push ebp
call esi
push eax
call ebx
push str.PassWordMin
call fcn.00408190
mov edx, eax
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, edx
jae 0x4018d3
mov bl, byte [esp + 0x38]
push edx
test bl, bl
setne al
add eax, 0x3f1
push eax
push 0x40
push ebp
call fcn.00401190
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 0x10
push str.PolicyNoSessionPassword
call fcn.00408170
test eax, eax
je 0x4018f2
push 0x4354f0
push 0x66
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0
push 0
push 0xf0
push 0x67
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
dec esi
neg esi
sbb esi, esi
inc esi
push esi
push str.CheckSave
call fcn.004080c0
push str.CheckSavePassword
mov byte [esp + 0x110], 0
call fcn.00408170
test eax, eax
je 0x40195f
push str.ConfigID
call fcn.00408150
cmp byte [eax], 0
je 0x40195f
push eax
push str.Ai4rei_AN_ROCred_
push 0x4354a8
lea ecx, [esp + 0x118]
push 0x80
push ecx
call fcn.0040a660
add esp, 0x14
test esi, esi
je 0x401998
lea edx, [esp + 0x50]
push edx
push str.UserName
call fcn.00408030
mov al, byte [esp + 0x10c]
test al, al
je 0x4019c1
lea eax, [esp + 0x38]
push 2
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0x114]
push ecx
push edx
call fcn.00416f20
jmp 0x4019c1
push 0
push str.UserName
call fcn.00408030
mov al, byte [esp + 0x10c]
test al, al
je 0x4019c1
push 0
lea eax, [esp + 0x110]
push 1
push eax
call dword [0x43f078]
push str.MiscInfo
call fcn.00408170
test eax, eax
je 0x401a96
push ebp
call fcn.00401d50
test al, al
je 0x401ce6
push str.MiscInfo
call fcn.00408170
test al, 1
je 0x401a79
lea ecx, [esp + 0x28]
push 0
push ecx
call fcn.00422850
lea edi, [esp + 0x68]
mov edx, dword [esp + 0x2d]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2b]
and edx, 0xff
and eax, 0xff
push edx
mov edx, dword [esp + 0x2e]
and ecx, 0xff
push eax
mov eax, dword [esp + 0x31]
push ecx
mov ecx, dword [esp + 0x34]
and edx, 0xff
and eax, 0xff
push edx
and ecx, 0xff
push eax
push ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x80
sub edx, ecx
lea edi, [esp + 0x80]
or ecx, 0xffffffff
push str.mac_02X_02X_02X_02X_02X_02X
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
lea eax, [esp + ecx + 0x88]
push eax
call fcn.0040a660
add esp, 0x24
lea edi, [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
mov dl, byte [0x43546c]
repne scasb al, byte es:[edi]
mov ecx, dword [str.key]
dec edi
mov dword [edi], ecx
mov byte [edi + 4], dl
push str.HashMD5
call fcn.00408170
test eax, eax
je 0x401c69
push str.HashMD5Salt
call fcn.00408150
mov ebx, eax
cmp byte [ebx], 0
je 0x401c08
push str.password
push ebx
call fcn.0042bc50
add esp, 8
test eax, eax
je 0x401bec
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x20], ecx
lea eax, [ecx + 1]
push eax
call fcn.004233b0
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x401bd0
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x20]
push eax
inc ecx
push edi
push ecx
push esi
push edi
push ebx
mov byte [esp + 0x2b], 0
call fcn.00424cd0
test al, al
je 0x401ba6
lea edx, [esp + 0x18]
lea eax, [esp + 0x24]
push edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], edi
push eax
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str.password
push ecx
lea ecx, [esp + 0x44]
push ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.password
push edx
push esi
call fcn.00424b80
test al, al
je 0x401b9d
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x28]
push eax
push ecx
push edx
call fcn.00423360
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.0040b360
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
call fcn.00423880
mov byte [esp + 0x13], 1
jmp 0x401bb3
push 0x10
push 0x3fc
jmp 0x401bad
push 0x10
push 0x3fb
push ebp
call fcn.00401100
push esi
call fcn.00423880
mov al, byte [esp + 0x13]
test al, al
jne 0x401c17
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
push 0x10
push 0x3fc
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
push 0x10
push 0x3fa
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
lea edx, [esp + 0x28]
lea eax, [esp + 0x38]
push edx
push eax
call fcn.00423320
lea ecx, [esp + 0x28]
push 0x10
push ecx
lea edx, [esp + 0xf0]
push 0x21
push edx
call fcn.0041b610
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.00401280
test al, al
jne 0x401c49
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 0x10
mov esi, dword [esp + 0x14]
mov eax, 0x4354f0
test esi, esi
je 0x401c58
mov eax, esi
mov ecx, dword [esp + 0x2a0]
push ecx
lea ecx, [esp + 0xec]
jmp 0x401ca0
lea edx, [esp + 0x14]
push edx
push ebp
call fcn.00401280
test al, al
jne 0x401c85
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 0x10
mov esi, dword [esp + 0x14]
mov eax, 0x4354f0
test esi, esi
je 0x401c94
mov eax, esi
mov ecx, dword [esp + 0x2a0]
push ecx
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x54]
push edx
lea edx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
lea eax, [esp + 0x1a0]
push str._s_t:_s_s__s__s
push eax
push ecx
push ebp
call fcn.0040b5b0
add esp, 0x24
lea edx, [esp + 0x38]
mov bl, al
push 0x18
push edx
call fcn.0040b360
jmp 0x401d2a
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.00401280
test al, al
jne 0x401cf5
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
mov esi, dword [esp + 0x14]
mov eax, 0x4354f0
cmp esi, edi
je 0x401d04
mov eax, esi
mov ecx, dword [esp + 0x2a0]
lea edx, [esp + 0x18c]
push ecx
push eax
mov eax, dword [esp + 0x24]
push 0x4354a8
push edx
push eax
push ebp
call fcn.0040b5b0
add esp, 0x18
mov bl, al
test esi, esi
je 0x401d34
push esi
call fcn.00423880
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
add esp, 0x280
ret 0x10