Function at 0x4016c0
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 0x40172c
push edi
push eax
call fcn.00415dc0
cmp eax, 0x102
jne 0x40172c
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.00408100
test eax, eax
jne 0x401788
mov eax, dword [0x442008]
mov ecx, dword [0x44200c]
cmp eax, ecx
je 0x401788
call fcn.00408170
test al, al
push 0x10
je 0x40176e
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 0x40179a
mov dword [esp + 0x1c], 1
mov ecx, dword [esp + 0x29c]
lea edx, [esp + 0x18c]
push ecx
push 0x104
push edx
call fcn.0040b1a0
push str.PolicyNoCredentials
call fcn.00408100
test eax, eax
jne 0x401c69
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
lea edi, [esp + 0x50]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jae 0x40181d
mov bl, byte [esp + 0x50]
xor ecx, ecx
test bl, bl
setne cl
add ecx, 0x3ef
push 0x40
push ecx
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
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
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jae 0x401865
mov bl, byte [esp + 0x38]
push 0x40
test bl, bl
setne al
add eax, 0x3f1
push eax
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
push str.PolicyNoSessionPassword
call fcn.00408100
test eax, eax
je 0x401884
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.00408050
push str.CheckSavePassword
mov byte [esp + 0x110], 0
call fcn.00408100
test eax, eax
je 0x4018f1
push str.ConfigID
call fcn.004080e0
cmp byte [eax], 0
je 0x4018f1
push eax
push str.Ai4rei_AN_ROCred_
push 0x4354a8
lea ecx, [esp + 0x118]
push 0x80
push ecx
call fcn.00401ce0
add esp, 0x14
test esi, esi
je 0x40192a
lea edx, [esp + 0x50]
push edx
push str.UserName
call fcn.00407fc0
mov al, byte [esp + 0x10c]
test al, al
je 0x401953
lea eax, [esp + 0x38]
push 2
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0x114]
push ecx
push edx
call fcn.00416c20
jmp 0x401953
push 0
push str.UserName
call fcn.00407fc0
mov al, byte [esp + 0x10c]
test al, al
je 0x401953
push 0
lea eax, [esp + 0x110]
push 1
push eax
call dword [0x43f078]
push str.MiscInfo
call fcn.00408100
test eax, eax
je 0x401a28
push ebp
call fcn.00401d10
test al, al
je 0x401c78
push str.MiscInfo
call fcn.00408100
test al, 1
je 0x401a0b
lea ecx, [esp + 0x28]
push 0
push ecx
call fcn.00421f40
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.00401ce0
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.00408100
test eax, eax
je 0x401bfb
push str.HashMD5Salt
call fcn.004080e0
mov ebx, eax
cmp byte [ebx], 0
je 0x401b9a
push str.password
push ebx
call fcn.0042b210
add esp, 8
test eax, eax
je 0x401b7e
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.00422aa0
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x401b62
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.00424290
test al, al
je 0x401b38
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.00424140
test al, al
je 0x401b2f
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x28]
push eax
push ecx
push edx
call fcn.00422a50
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.0040b120
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
call fcn.00422f50
mov byte [esp + 0x13], 1
jmp 0x401b45
push 0x10
push 0x3fc
jmp 0x401b3f
push 0x10
push 0x3fb
push ebp
call fcn.00401100
push esi
call fcn.00422f50
mov al, byte [esp + 0x13]
test al, al
jne 0x401ba9
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.00422a10
lea ecx, [esp + 0x28]
push 0x10
push ecx
lea edx, [esp + 0xf0]
push 0x21
push edx
call fcn.0041ada0
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.00401230
test al, al
jne 0x401bdb
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 0x401bea
mov eax, esi
mov ecx, dword [esp + 0x2a0]
push ecx
lea ecx, [esp + 0xec]
jmp 0x401c32
lea edx, [esp + 0x14]
push edx
push ebp
call fcn.00401230
test al, al
jne 0x401c17
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 0x401c26
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.0040b370
add esp, 0x24
lea edx, [esp + 0x38]
mov bl, al
push 0x18
push edx
call fcn.0040b120
jmp 0x401cbc
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.00401230
test al, al
jne 0x401c87
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 0x401c96
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.0040b370
add esp, 0x18
mov bl, al
test esi, esi
je 0x401cc6
push esi
call fcn.00422f50
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
add esp, 0x280
ret 0x10