Function at 0x4145a0
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4206ca
push eax
mov eax, dword [esp + 0x14]
mov dword fs:[0], esp
sub esp, 0x3ec
cmp eax, 0x67
push ebx
push ebp
push esi
push edi
mov esi, ecx
jg 0x414b04
je 0x4148b9
sub eax, 0x65
je 0x4148af
dec eax
jne 0x414c79
xor edi, edi
lea ecx, [esp + 0x24]
push edi
push str.TXT_Files__.txt_
push 6
push 0x428120
push 0x425570
push 1
call fcn.00415570
mov dword [esp + 0x24], 0x4214dc
mov dword [esp + 0x404], edi
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp dword [esp + 0x44], edi
jne 0x414622
mov dword [esp + 0x44], eax
mov edx, dword [0x428118]
lea eax, [esp + 0x24]
lea ecx, [esp + 0x2c]
push eax
push ecx
push edx
call fcn.0040a9b0
cmp dword [esp + 0x98], edi
je 0x41464e
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.comdlg32.dll_GetOpenFileNameA]
jmp 0x414659
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.comdlg32.dll_GetSaveFileNameA]
cmp eax, edi
mov dword [esp + 0x28], edi
je 0x414c79
lea ecx, [esp + 0x14]
call fcn.00404690
mov edx, dword [0x42505c]
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x158]
push edi
push edi
push 0xe
push eax
mov byte [esp + 0x414], 2
call dword [sym.imp.USER32.dll_SendMessageA]
inc eax
mov dword [esp + 0x20], eax
mov edi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 0xc]
lea ebp, [eax - 0xc]
cmp ecx, 1
jg 0x4146ac
cmp edi, dword [eax - 4]
jle 0x4146eb
mov ebx, dword [eax - 8]
cmp edi, ebx
jge 0x4146b5
mov edi, ebx
push edi
lea ecx, [esp + 0x14]
call fcn.004037d0
test eax, eax
je 0x4146eb
mov eax, dword [esp + 0x10]
lea ecx, [ebx + 1]
lea edx, [ebp + 0xc]
push ecx
inc edi
push edx
push edi
push eax
call fcn.00407120
mov ecx, dword [esp + 0x20]
add esp, 0x10
push ebp
mov dword [ecx - 8], ebx
call fcn.004088c0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
push edx
push eax
mov eax, dword [esi + 0x158]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea ecx, [esp + 0x10]
call fcn.00408780
mov ecx, dword [esp + 0x10]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ecx
call ebx
mov edx, dword [esp + 0x10]
mov dword [edx - 8], eax
mov ecx, dword [esp + 0x10]
push ecx
mov byte [eax + ecx], 0
mov edx, dword [0x42505c]
mov edi, esp
lea eax, [esp + 0x1a0]
test eax, eax
mov dword [esp + 0x24], esp
mov dword [edi], edx
je 0x414791
lea ecx, [esp + 0x1a0]
shr ecx, 0x10
jne 0x41475f
xor eax, eax
lea edx, [esp + 0x1a0]
mov ax, dx
mov ecx, edi
push eax
call fcn.00408250
jmp 0x414791
lea eax, [esp + 0x1a0]
push eax
call ebx
mov ebx, eax
test ebx, ebx
je 0x414791
push ebx
mov ecx, edi
call fcn.004037d0
test eax, eax
je 0x414791
mov edx, dword [edi]
push ebx
lea ecx, [esp + 0x1a4]
inc ebx
push ecx
push ebx
push edx
call fcn.00407120
add esp, 0x10
lea eax, [esp + 0x20]
lea ecx, [esp + 0x18]
push eax
call fcn.00405570
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x10]
push ecx
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x40c], 3
call fcn.00404ff0
mov eax, dword [esi + 0x158]
push 0x428120
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, dword [0x42505c]
mov dword [esp + 0x18], ecx
lea edx, [esi + 0x28c]
lea eax, [esp + 0x18]
push edx
push eax
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
mov byte [esp + 0x414], 4
call fcn.00403200
mov ecx, esi
call fcn.004150f0
mov eax, dword [esp + 0x18]
push 0
push 0
push eax
mov ecx, esi
call fcn.004144d0
mov eax, dword [esp + 0x18]
mov edx, dword [0x425060]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x414843
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x414843
mov edx, dword [esp + 0x18]
lea eax, [edx - 0xc]
push eax
call fcn.00419d30
add esp, 4
mov eax, dword [esp + 0x1c]
mov edx, dword [0x425060]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x41486e
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x41486e
mov edx, dword [esp + 0x1c]
lea eax, [edx - 0xc]
push eax
call fcn.00419d30
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, dword [0x425060]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x414899
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x414899
mov edx, dword [esp + 0x10]
lea eax, [edx - 0xc]
push eax
call fcn.00419d30
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x404], 0
call fcn.004046c0
jmp 0x414c79
push str.http:__360safe.qihoo.com_host_hosthelp.html
jmp 0x414c71
push 0
push str.TXT_Files__.txt_
push 6
push str.host.txt
push 0x425570
push 0
lea ecx, [esp + 0x3c]
call fcn.00415570
mov dword [esp + 0x24], 0x4214dc
mov dword [esp + 0x404], 5
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x4148fc
mov dword [esp + 0x44], eax
mov edx, dword [0x428118]
lea eax, [esp + 0x24]
lea ecx, [esp + 0x2c]
push eax
push ecx
push edx
call fcn.0040a9b0
mov eax, dword [esp + 0x98]
test eax, eax
je 0x41492a
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.comdlg32.dll_GetOpenFileNameA]
jmp 0x414935
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.comdlg32.dll_GetSaveFileNameA]
test eax, eax
mov dword [esp + 0x28], 0
je 0x414c79
mov edx, dword [esi + 0x158]
push 0
push 0
push 0xe
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [0x42505c]
mov dword [esp + 0x10], ecx
lea ebp, [ecx - 0xc]
lea ebx, [eax + 1]
mov byte [esp + 0x404], 6
mov edi, ebx
cmp dword [ebp], 1
jg 0x41497d
cmp edi, dword [ecx - 4]
jle 0x4149ca
mov ecx, dword [ecx - 8]
cmp edi, ecx
mov dword [esp + 0x14], ecx
jge 0x41498a
mov edi, ecx
push edi
lea ecx, [esp + 0x14]
call fcn.004037d0
test eax, eax
jne 0x41499c
xor ecx, ecx
jmp 0x4149ca
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc eax
lea ecx, [ebp + 0xc]
push eax
inc edi
push ecx
push edi
push edx
call fcn.00407120
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add esp, 0x10
mov dword [eax - 8], ecx
push ebp
call fcn.004088c0
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x158]
push ebx
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea ecx, [esp + 0x10]
call fcn.00408780
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [esp + 0x10]
add esi, 0x28c
mov dword [ecx - 8], eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x18]
mov byte [eax + edx], 0
lea eax, [esp + 0x10]
push eax
push esi
push ecx
call fcn.004157b0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x404], 7
call fcn.00404690
mov eax, dword [esp + 0x18]
mov bl, 8
push ecx
mov byte [esp + 0x408], bl
mov edx, dword [eax - 0xc]
mov dword [esp + 0x24], esp
test edx, edx
mov ecx, esp
jl 0x414a50
mov dword [ecx], eax
mov edx, dword [esp + 0x1c]
add edx, 0xfffffff4
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x414a61
mov eax, dword [0x42505c]
mov dword [ecx], eax
mov edx, dword [esp + 0x1c]
push edx
call fcn.00407360
push ecx
lea eax, [esp + 0x1a4]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
mov byte [esp + 0x410], 9
call fcn.00407200
lea ecx, [esp + 0x24]
mov byte [esp + 0x40c], bl
call fcn.00405820
lea ecx, [esp + 0x1c]
mov byte [esp + 0x404], 7
call fcn.004046c0
mov eax, dword [esp + 0x18]
mov edx, dword [0x425060]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x414acf
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x414acf
mov edx, dword [esp + 0x18]
add edx, 0xfffffff4
push edx
call fcn.00419d30
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, dword [0x425060]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x414c79
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x414c79
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.00419d30
jmp 0x414c76
cmp eax, 0x68
je 0x414c6c
cmp eax, 0x3ed
jne 0x414c79
mov eax, dword [esi + 0x158]
push 0
push 0
push 0xe
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [0x42505c]
mov dword [esp + 0x10], ecx
lea edi, [eax + 1]
lea ecx, [esp + 0x10]
push edi
mov dword [esp + 0x408], 0xa
call fcn.00408450
mov edx, dword [esi + 0x158]
push edi
push eax
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea ecx, [esp + 0x10]
call fcn.00408780
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [esp + 0x10]
add esi, 0x28c
mov dword [ecx - 8], eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
mov byte [eax + edx], 0
lea eax, [esp + 0x10]
push eax
push esi
push ecx
call fcn.004157b0
lea ecx, [esp + 0x14]
mov byte [esp + 0x404], 0xb
call fcn.00404690
lea edx, [esp + 0x1c]
mov bl, 0xc
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x408], bl
call fcn.00404c40
test eax, eax
je 0x414c34
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.host
call fcn.00407200
lea ecx, [esp + 0x2a4]
call fcn.00411210
mov byte [esp + 0x404], 0xd
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov esi, eax
lea eax, [esp + 0x2a0]
lea ecx, [esp + 0x2a8]
push eax
push ecx
push 0x428128
call fcn.0040a9b0
mov eax, dword [0x428130]
push 0
push 0x40e1a0
push esi
push 0xd6
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
lea ecx, [esp + 0x2a0]
mov byte [esp + 0x404], bl
call fcn.00414ca0
lea ecx, [esp + 0x14]
mov byte [esp + 0x404], 0xb
call fcn.004046c0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x404], 0xa
call fcn.004037a0
lea ecx, [esp + 0x10]
mov dword [esp + 0x404], 0xffffffff
call fcn.004037a0
jmp 0x414c79
push str.http:__360.qihoo.com_3310731.html
call fcn.004109c0
add esp, 4
mov ecx, dword [esp + 0x3fc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x3f8
ret 0xc