Function at 0x401620
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 [0x44cfdc]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ebx
je 0x401683
push ebx
push eax
call fcn.00419f80
cmp eax, 0x102
jne 0x401683
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
call fcn.00408c50
test al, al
jne 0x4016e8
mov ecx, dword [0x44d090]
mov eax, dword [0x44d094]
cmp ecx, eax
je 0x4016e8
call fcn.00409960
test al, al
push 0x10
je 0x4016c7
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 0x4016fa
mov dword [esp + 0x20], 1
mov ecx, dword [esp + 0x29c]
lea edx, [esp + 0x18c]
push ecx
push 0x104
push edx
call fcn.0040d670
call fcn.00408c40
test al, al
jne 0x401bab
mov ebx, dword [esp + 0x294]
mov ebp, dword [sym.imp.USER32.dll_GetDlgItem]
lea eax, [esp + 0x50]
push 0x18
push eax
push 0x65
push ebx
call ebp
mov esi, dword [sym.imp.USER32.dll_GetWindowTextA]
push eax
call esi
call fcn.00408bc0
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 0x401789
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 ebp
push eax
call esi
call fcn.00408bd0
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 0x4017db
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
call fcn.00408c30
test al, al
je 0x4017f5
push 0x43f4a8
push 0x66
push ebx
call ebp
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x67
push ebx
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
sete byte [esp + 0x18]
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00408b60
mov byte [esp + 0x10c], 0
call fcn.00408b80
test al, al
je 0x40184b
call fcn.00408af0
cmp byte [eax], 0
je 0x40184b
push eax
push str.Ai4rei_AN_ROCred_
push 0x43f48c
lea edx, [esp + 0x118]
push 0x80
push edx
call fcn.00405c60
add esp, 0x14
mov al, byte [esp + 0x18]
test al, al
je 0x401883
lea eax, [esp + 0x50]
push eax
call fcn.00408ba0
mov al, byte [esp + 0x10c]
test al, al
je 0x4018a7
lea ecx, [esp + 0x38]
push 2
lea edx, [esp + 0x54]
push ecx
lea eax, [esp + 0x114]
push edx
push eax
call fcn.0041ade0
jmp 0x4018a7
push 0
call fcn.00408ba0
mov al, byte [esp + 0x10c]
test al, al
je 0x4018a7
push 0
lea ecx, [esp + 0x110]
push 1
push ecx
call dword [0x44a0b8]
call fcn.00408cb0
test eax, eax
je 0x401973
push ebx
call fcn.00401c20
test al, al
je 0x401bc1
call fcn.00408cb0
test al, 1
je 0x401957
lea edx, [esp + 0x28]
push 0
push edx
call fcn.00426d00
lea edi, [esp + 0x68]
mov eax, dword [esp + 0x2d]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x2b]
and eax, 0xff
and ecx, 0xff
push eax
mov eax, dword [esp + 0x2e]
push ecx
mov ecx, dword [esp + 0x31]
and edx, 0xff
and eax, 0xff
push edx
mov edx, dword [esp + 0x34]
and ecx, 0xff
push eax
push ecx
or ecx, 0xffffffff
xor eax, eax
and edx, 0xff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x80
push edx
sub eax, ecx
push str.mac_02X_02X_02X_02X_02X_02X
push eax
lea edi, [esp + 0x88]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ecx, [esp + ecx + 0x88]
push ecx
call fcn.00405c60
add esp, 0x24
lea edi, [esp + 0x68]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [str.key]
repne scasb al, byte es:[edi]
mov al, byte [0x43f468]
dec edi
mov dword [edi], edx
mov byte [edi + 4], al
call fcn.00408be0
test al, al
je 0x401b3d
call fcn.00408bf0
mov ebp, eax
cmp byte [ebp], 0
je 0x401adc
push str.password
push ebp
call fcn.00435ad0
add esp, 8
test eax, eax
je 0x401ac0
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x24], ecx
lea eax, [ecx + 1]
push eax
call fcn.00427860
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x401aa4
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x24]
push ecx
inc edx
push edi
push edx
push esi
push edi
push ebp
mov byte [esp + 0x2b], 0
call fcn.004291a0
test al, al
je 0x401a7a
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x18]
push eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
push ecx
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str.password
push ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x30]
push edx
not ecx
dec ecx
push ecx
push str.password
push eax
push esi
call fcn.00429050
test al, al
je 0x401a71
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x28]
push ecx
push edx
push eax
call fcn.00427810
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.0040d5f0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
call fcn.00427d30
mov byte [esp + 0x13], 1
jmp 0x401a87
push 0x10
push 0x3fc
jmp 0x401a81
push 0x10
push 0x3fb
push ebx
call fcn.00401100
push esi
call fcn.00427d30
mov al, byte [esp + 0x13]
test al, al
jne 0x401aeb
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 eax, [esp + 0x28]
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.004277d0
lea edx, [esp + 0x28]
push 0x10
push edx
lea eax, [esp + 0xf0]
push 0x21
push eax
call fcn.0041f610
lea ecx, [esp + 0x14]
push ecx
push ebx
call fcn.00401280
test al, al
jne 0x401b1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 0x10
mov esi, dword [esp + 0x14]
mov eax, 0x43f4a8
test esi, esi
je 0x401b2c
mov eax, esi
mov edx, dword [esp + 0x2a0]
push edx
lea edx, [esp + 0xec]
jmp 0x401b74
lea ecx, [esp + 0x14]
push ecx
push ebx
call fcn.00401280
test al, al
jne 0x401b59
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 0x10
mov esi, dword [esp + 0x14]
mov eax, 0x43f4a8
test esi, esi
je 0x401b68
mov eax, esi
mov edx, dword [esp + 0x2a0]
push edx
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x70]
push edx
push ecx
push eax
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x1a0]
push str._s_t:_s_s__s__s
push edx
push eax
push ebx
call fcn.0040d800
add esp, 0x24
lea ecx, [esp + 0x38]
mov bl, al
push 0x18
push ecx
call fcn.0040d5f0
jmp 0x401c05
mov edi, dword [esp + 0x294]
lea edx, [esp + 0x14]
push edx
push edi
call fcn.00401280
test al, al
jne 0x401bd0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x280
ret 0x10
mov esi, dword [esp + 0x14]
mov eax, 0x43f4a8
cmp esi, ebx
je 0x401bdf
mov eax, esi
mov ecx, dword [esp + 0x2a0]
lea edx, [esp + 0x18c]
push ecx
push eax
mov eax, dword [esp + 0x28]
push 0x43f48c
push edx
push eax
push edi
call fcn.0040d800
add esp, 0x18
mov bl, al
test esi, esi
je 0x401c0f
push esi
call fcn.00427d30
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
add esp, 0x280
ret 0x10