Function at 0x401210
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x278
push ebx
push ebp
push esi
push edi
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x61]
mov byte [esp + 0x60], 0
rep stosd dword es:[edi], eax
mov ebp, dword [esp + 0x28c]
push 0xfffffffffffffffa
stosw word es:[edi], ax
push ebp
stosb byte es:[edi], al
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov eax, dword [0x43af38]
test eax, eax
je 0x401273
push 0
push eax
call fcn.00412e20
cmp eax, 0x102
jne 0x401273
push 0x40
push 0x412
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x278
ret 0xc
push str.PolicyNoCheckPatchRotten
call fcn.00406bf0
test eax, eax
jne 0x4012ac
mov eax, dword [0x43aff0]
mov ecx, dword [0x43aff4]
cmp eax, ecx
je 0x4012ac
push 0x10
push 0x415
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x278
ret 0xc
mov ecx, dword [esp + 0x290]
lea edx, [esp + 0x184]
push ecx
push 0x104
push edx
call fcn.004018d0
push str.PolicyNoCredentials
call fcn.00406bf0
test eax, eax
jne 0x401741
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
lea eax, [esp + 0x48]
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 + 0x48]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jae 0x40132f
mov bl, byte [esp + 0x48]
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, 0x278
ret 0xc
lea edx, [esp + 0x30]
push 0x18
push edx
push 0x66
push ebp
call esi
push eax
call ebx
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jae 0x401377
mov bl, byte [esp + 0x30]
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, 0x278
ret 0xc
push str.PolicyNoSessionPassword
call fcn.00406bf0
test eax, eax
je 0x401396
push 0x42f520
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.00406b40
push str.CheckSavePassword
mov byte [esp + 0x108], 0
call fcn.00406bf0
test eax, eax
je 0x401403
push str.ConfigID
call fcn.00406bd0
cmp byte [eax], 0
je 0x401403
push eax
push str.Ai4rei_AN_ROCred_
push 0x42f4d8
lea ecx, [esp + 0x110]
push 0x80
push ecx
call fcn.00413d60
add esp, 0x14
test esi, esi
je 0x40143c
lea edx, [esp + 0x48]
push edx
push str.UserName
call fcn.00406ab0
mov al, byte [esp + 0x104]
test al, al
je 0x401465
lea eax, [esp + 0x30]
push 2
lea ecx, [esp + 0x4c]
push eax
lea edx, [esp + 0x10c]
push ecx
push edx
call fcn.00413910
jmp 0x401465
push 0
push str.UserName
call fcn.00406ab0
mov al, byte [esp + 0x104]
test al, al
je 0x401465
push 0
lea eax, [esp + 0x108]
push 1
push eax
call dword [0x438058]
push str.MiscInfo
call fcn.00406bf0
test eax, eax
je 0x401537
push ebp
call fcn.00401770
test al, al
je 0x40169a
push str.MiscInfo
call fcn.00406bf0
test al, 1
je 0x40151a
lea ecx, [esp + 0x20]
push 0
push ecx
call fcn.0041c120
lea edi, [esp + 0x60]
mov edx, dword [esp + 0x25]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x23]
and edx, 0xff
and eax, 0xff
push edx
mov edx, dword [esp + 0x26]
and ecx, 0xff
push eax
mov eax, dword [esp + 0x29]
push ecx
mov ecx, dword [esp + 0x2c]
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 + 0x78]
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 + 0x80]
push eax
call fcn.00413d60
add esp, 0x24
lea edi, [esp + 0x60]
or ecx, 0xffffffff
xor eax, eax
mov dl, byte [0x42f49c]
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.00406bf0
test eax, eax
je 0x4016f7
push str.HashMD5Salt
call fcn.00406bd0
mov ebx, eax
cmp byte [ebx], 0
je 0x4016a9
push str.password
push ebx
call fcn.004251b0
add esp, 8
test eax, eax
je 0x40168d
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x18], ecx
lea eax, [ecx + 1]
push eax
call fcn.0041cc80
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x401671
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x18]
push eax
inc ecx
push edi
push ecx
push esi
push edi
push ebx
mov byte [esp + 0x2b], 0
call fcn.0041e470
test al, al
je 0x401647
lea edx, [esp + 0x14]
lea eax, [esp + 0x1c]
push edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], edi
push eax
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x20]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str.password
push ecx
lea ecx, [esp + 0x3c]
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.0041e320
test al, al
je 0x40163e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x20]
push eax
push ecx
push edx
call fcn.0041cc30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.00401190
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
call fcn.0041d130
mov byte [esp + 0x13], 1
jmp 0x401654
push 0x10
push 0x3fc
jmp 0x40164e
push 0x10
push 0x3fb
push ebp
call fcn.00401100
push esi
call fcn.0041d130
mov al, byte [esp + 0x13]
test al, al
jne 0x4016b8
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x278
ret 0xc
push 0x10
push 0x3fc
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x278
ret 0xc
push 0x10
push 0x3fa
push ebp
call fcn.00401100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x278
ret 0xc
lea edx, [esp + 0x20]
lea eax, [esp + 0x30]
push edx
push eax
call fcn.0041cbf0
lea ecx, [esp + 0x20]
push 0x10
push ecx
lea edx, [esp + 0xe8]
push 0x21
push edx
call fcn.004171d0
lea ecx, [esp + 0x48]
lea edx, [esp + 0xe0]
mov eax, dword [esp + 0x294]
push eax
push ecx
lea eax, [esp + 0x68]
push edx
push eax
lea ecx, [esp + 0x194]
push str._t:_s_s__s__s
push ecx
jmp 0x40171b
mov edx, dword [esp + 0x294]
lea eax, [esp + 0x48]
push edx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x68]
push ecx
push edx
lea eax, [esp + 0x194]
push str._t:_s_s__s__s
push eax
push ebp
call fcn.00401930
add esp, 0x1c
lea ecx, [esp + 0x30]
mov bl, al
push 0x18
push ecx
call fcn.00401190
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
add esp, 0x278
ret 0xc
mov edx, dword [esp + 0x294]
lea eax, [esp + 0x184]
push edx
push 0x42f464
push eax
push ebp
call fcn.00401930
add esp, 0x10
mov bl, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x278
ret 0xc