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
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x443fac]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
je 0x401773
push ebx
push eax
call fcn.00417ad0
cmp eax, 0x102
jne 0x401773
mov eax, dword [esp + 0x294]
push 0x40
push 0x412
push eax
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
push str.PolicyNoCheckPatchRotten
call fcn.004085b0
test eax, eax
jne 0x4017dd
mov ecx, dword [0x444060]
mov eax, dword [0x444064]
cmp ecx, eax
je 0x4017dd
call fcn.00408620
test al, al
push 0x10
je 0x4017bc
mov edx, dword [esp + 0x298]
push 0x415
push edx
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
mov eax, dword [esp + 0x298]
push 0x419
push eax
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 0x4017ef
mov dword [esp + 0x1c], 1
mov ecx, dword [esp + 0x29c]
lea edx, [esp + 0x18c]
push ecx
push 0x104
push edx
call fcn.0040bbf0
push str.PolicyNoCredentials
call fcn.004085b0
test eax, eax
jne 0x401cd8
mov ebx, dword [esp + 0x294]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
lea eax, [esp + 0x50]
push 0x18
push eax
push 0x65
push ebx
call esi
mov ebp, dword [sym.imp.USER32.dll_GetWindowTextA]
push eax
call ebp
push str.UserNameMin
call fcn.004085d0
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 0x401888
mov al, byte [esp + 0x50]
xor ecx, ecx
test al, al
setne cl
add ecx, 0x3ef
push edx
push ecx
push 0x40
push ebx
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 ebx
call esi
push eax
call ebp
push str.PassWordMin
call fcn.004085d0
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 0x4018df
mov cl, byte [esp + 0x38]
push edx
test cl, cl
setne al
add eax, 0x3f1
push eax
push 0x40
push ebx
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.004085b0
test eax, eax
je 0x4018fe
push 0x437500
push 0x66
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x67
push ebx
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov esi, eax
dec esi
neg esi
sbb esi, esi
inc esi
push esi
push str.CheckSave
call fcn.004084c0
push str.CheckSavePassword
mov byte [esp + 0x110], 0
call fcn.004085b0
test eax, eax
je 0x40195f
push str.ConfigID
call fcn.00408590
cmp byte [eax], 0
je 0x40195f
push eax
push str.Ai4rei_AN_ROCred_
push 0x4374b8
lea ecx, [esp + 0x118]
push 0x80
push ecx
call fcn.0041c640
add esp, 0x14
test esi, esi
je 0x401998
lea edx, [esp + 0x50]
push edx
push str.UserName
call fcn.00408470
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.00418930
jmp 0x4019c1
push 0
push str.UserName
call fcn.00408470
mov al, byte [esp + 0x10c]
test al, al
je 0x4019c1
push 0
lea eax, [esp + 0x110]
push 1
push eax
call dword [0x4410b8]
push str.MiscInfo
call fcn.004085b0
test eax, eax
je 0x401a96
push ebx
call fcn.00401d50
test al, al
je 0x401cee
push str.MiscInfo
call fcn.004085b0
test al, 1
je 0x401a79
lea ecx, [esp + 0x28]
push 0
push ecx
call fcn.004242e0
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.0041c640
add esp, 0x24
lea edi, [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
mov dl, byte [0x43747c]
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.004085b0
test eax, eax
je 0x401c6a
push str.HashMD5Salt
call fcn.00408590
mov ebp, eax
cmp byte [ebp], 0
je 0x401c09
push str.password
push ebp
call fcn.0042d6e0
add esp, 8
test eax, eax
je 0x401bed
mov edi, ebp
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.00424e40
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x401bd1
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x20]
push eax
inc ecx
push edi
push ecx
push esi
push edi
push ebp
mov byte [esp + 0x2b], 0
call fcn.00426760
test al, al
je 0x401ba7
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.00426610
test al, al
je 0x401b9e
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x28]
push eax
push ecx
push edx
call fcn.00424df0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.0040bb70
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
call fcn.00425310
mov byte [esp + 0x13], 1
jmp 0x401bb4
push 0x10
push 0x3fc
jmp 0x401bae
push 0x10
push 0x3fb
push ebx
call fcn.00401100
push esi
call fcn.00425310
mov al, byte [esp + 0x13]
test al, al
jne 0x401c18
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
push 0x10
push 0x3fc
push ebx
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
push 0x10
push 0x3fa
push ebx
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.00424db0
lea ecx, [esp + 0x28]
push 0x10
push ecx
lea edx, [esp + 0xf0]
push 0x21
push edx
call fcn.0041d080
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.00401280
test al, al
jne 0x401c4a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 0x10
mov esi, dword [esp + 0x14]
mov eax, 0x437500
test esi, esi
je 0x401c59
mov eax, esi
mov ecx, dword [esp + 0x2a0]
push ecx
lea ecx, [esp + 0xec]
jmp 0x401ca1
lea edx, [esp + 0x14]
push edx
push ebx
call fcn.00401280
test al, al
jne 0x401c86
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 0x10
mov esi, dword [esp + 0x14]
mov eax, 0x437500
test esi, esi
je 0x401c95
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 ebx
call fcn.0040bd80
add esp, 0x24
lea edx, [esp + 0x38]
mov bl, al
push 0x18
push edx
call fcn.0040bb70
jmp 0x401d32
mov edi, dword [esp + 0x294]
lea eax, [esp + 0x14]
push eax
push edi
call fcn.00401280
test al, al
jne 0x401cfd
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
mov esi, dword [esp + 0x14]
mov eax, 0x437500
cmp esi, ebx
je 0x401d0c
mov eax, esi
mov ecx, dword [esp + 0x2a0]
lea edx, [esp + 0x18c]
push ecx
push eax
mov eax, dword [esp + 0x24]
push 0x4374b8
push edx
push eax
push edi
call fcn.0040bd80
add esp, 0x18
mov bl, al
test esi, esi
je 0x401d3c
push esi
call fcn.00425310
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
add esp, 0x280
ret 0x10