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 [0x44afdc]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ebx
je 0x401683
push ebx
push eax
call fcn.00418610
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.00408d40
test al, al
jne 0x4016e8
mov ecx, dword [0x44b090]
mov eax, dword [0x44b094]
cmp ecx, eax
je 0x4016e8
call fcn.00409a50
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.0040d6f0
call fcn.00408d30
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.00408cb0
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.00408cc0
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.00408d20
test al, al
je 0x4017f5
push 0x43e498
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.00408c50
mov byte [esp + 0x10c], 0
call fcn.00408c70
test al, al
je 0x40184b
call fcn.00408be0
cmp byte [eax], 0
je 0x40184b
push eax
push str.Ai4rei_AN_ROCred_
push 0x43e47c
lea edx, [esp + 0x118]
push 0x80
push edx
call fcn.0040dab0
add esp, 0x14
mov al, byte [esp + 0x18]
test al, al
je 0x401883
lea eax, [esp + 0x50]
push eax
call fcn.00408c90
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.00419470
jmp 0x4018a7
push 0
call fcn.00408c90
mov al, byte [esp + 0x10c]
test al, al
je 0x4018a7
push 0
lea ecx, [esp + 0x110]
push 1
push ecx
call dword [0x4480b4]
call fcn.00408da0
test eax, eax
je 0x401973
push ebx
call fcn.00401c20
test al, al
je 0x401bc1
call fcn.00408da0
test al, 1
je 0x401957
lea edx, [esp + 0x28]
push 0
push edx
call fcn.00425610
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.0040dab0
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 [0x43e458]
dec edi
mov dword [edi], edx
mov byte [edi + 4], al
call fcn.00408cd0
test al, al
je 0x401b3d
call fcn.00408ce0
mov ebp, eax
cmp byte [ebp], 0
je 0x401adc
push str.password
push ebp
call fcn.00434310
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.00426170
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.004279f0
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.004278a0
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.00426120
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.0040d670
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
call fcn.00426640
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.00426640
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.004260e0
lea edx, [esp + 0x28]
push 0x10
push edx
lea eax, [esp + 0xf0]
push 0x21
push eax
call fcn.0041daf0
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, 0x43e498
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, 0x43e498
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.0040d880
add esp, 0x24
lea ecx, [esp + 0x38]
mov bl, al
push 0x18
push ecx
call fcn.0040d670
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, 0x43e498
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 0x43e47c
push edx
push eax
push edi
call fcn.0040d880
add esp, 0x18
mov bl, al
test esi, esi
je 0x401c0f
push esi
call fcn.00426640
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
add esp, 0x280
ret 0x10