Function at 0x404db0
Capabilities:
Get graphical window text
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a8
mov eax, dword [0x4545c0]
xor eax, ebp
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x18]
push ebx
mov dword [ebp - 0x290], ecx
mov ecx, dword [ebp + 0x14]
push esi
mov dword [ebp - 0x254], eax
mov eax, dword [ecx]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x288], edi
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x27c], edx
cmp eax, 0x64
ja 0x4055c2
inc eax
mov dword [ecx], eax
lea eax, [ebp - 0x264]
xor esi, esi
push eax
mov dword [ebp - 0x26c], esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, dword [edi]
mov eax, dword [ecx]
lea edx, [ebp - 0x26c]
push edx
push 0x4395e0
mov ebx, 1
push edi
mov dword [ebp - 0x250], esi
mov dword [ebp - 0x278], ebx
call eax
mov eax, dword [ebp - 0x26c]
cmp eax, esi
je 0x404e4c
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
push eax
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x20]
lea ecx, [ebp - 0x274]
push ecx
push edi
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x294], esi
call edx
mov edi, dword [ebp - 0x250]
mov eax, ebx
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x274], eax
jl 0x405436
mov ebx, dword [ebp - 0x278]
cmp ebx, 1
jne 0x405436
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x250]
cmp eax, esi
je 0x404eaf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x250], esi
cmp eax, esi
je 0x404eee
mov ecx, dword [eax]
lea edx, [ebp - 0x294]
push edx
lea edx, [ebp - 0x264]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
js 0x405480
mov ecx, dword [ebp - 0x25c]
mov ax, word [ebp - 0x264]
jmp 0x404f06
mov ecx, dword [ebp - 0x284]
mov eax, 3
mov word [ebp - 0x264], ax
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x270], esi
cmp ax, 3
jne 0x404f51
mov ebx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x288]
mov edi, dword [edx]
lea eax, [ebp - 0x270]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [ebp - 0x260]
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x258]
push edx
mov edx, dword [edi + 0x24]
mov dword [eax + 0xc], ecx
call edx
mov eax, dword [ebp - 0x270]
jmp 0x404f5f
cmp ax, 9
jne 0x404f8e
mov eax, ecx
mov dword [ebp - 0x270], eax
cmp eax, esi
je 0x404f8e
mov ecx, dword [eax]
lea edx, [ebp - 0x250]
push edx
push 0x4395d0
push eax
mov eax, dword [ecx]
call eax
mov eax, dword [ebp - 0x270]
cmp eax, esi
je 0x404f88
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp - 0x270], esi
cmp dword [ebp - 0x250], esi
je 0x404fc5
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x250]
mov ecx, 3
mov word [ebp - 0x264], cx
mov dword [ebp - 0x25c], esi
mov dword [edx], eax
jmp 0x404fd3
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x288]
mov dword [ecx], edx
mov eax, dword [ebp - 0x254]
mov edi, dword [eax]
xor ebx, ebx
cmp edi, esi
je 0x405046
lea ecx, [ebp - 0x2a4]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, dword [ebp - 0x264]
mov edx, dword [edi]
mov edx, dword [edx + 0x38]
lea eax, [ebp - 0x2a4]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp - 0x260]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x25c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x258]
push edi
mov dword [eax + 0xc], ecx
call edx
test eax, eax
js 0x405039
cmp word [ebp - 0x2a4], 3
jne 0x405039
mov ebx, dword [ebp - 0x29c]
lea eax, [ebp - 0x2a4]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, 0x8000
je 0x40506d
mov eax, dword [ebp - 0x250]
cmp eax, esi
je 0x405060
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor edi, edi
mov dword [ebp - 0x250], edi
jmp 0x405417
mov ecx, dword [ebp - 0x254]
mov edi, dword [ecx]
lea ebx, [ebp - 0x268]
lea eax, [ebp - 0x264]
mov dword [ebp - 0x268], esi
call fcn.00404440
mov eax, dword [ebp - 0x268]
cmp eax, 0x2a
je 0x4050a0
cmp eax, 0xf
jne 0x4053c2
mov edi, dword [ebp - 0x250]
test edi, edi
je 0x405415
mov ebx, dword [ebp - 0x27c]
push 0x100
push 0
push ebx
call fcn.0042c9e0
add esp, 0xc
lea ecx, [ebp - 0x264]
mov edx, edi
call fcn.004044b0
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4050d6
sub eax, edx
sar eax, 1
cmp eax, 3
jbe 0x4053c8
mov ecx, str.about:newtab
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40511b
test dx, dx
je 0x405117
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40511b
add eax, 4
add ecx, 4
test dx, dx
jne 0x4050f5
xor eax, eax
jmp 0x405120
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4055c2
mov ecx, str.about:home
mov eax, ebx
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x405156
test dx, dx
je 0x405152
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x405156
add eax, 4
add ecx, 4
test dx, dx
jne 0x405130
xor eax, eax
jmp 0x40515b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4055c2
mov ecx, 0x44c710
mov eax, ebx
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x405196
test dx, dx
je 0x405192
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x405196
add eax, 4
add ecx, 4
test dx, dx
jne 0x405170
xor eax, eax
jmp 0x40519b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4055c2
mov eax, dword [ebp - 0x250]
mov esi, dword [sym.imp.OLEACC.dll_WindowFromAccessibleObject]
lea edx, [ebp - 0x268]
push edx
push eax
mov dword [ebp - 0x268], 0
call esi
mov ecx, dword [ebp - 0x268]
push 2
push ecx
call dword [sym.imp.USER32.dll_GetAncestor]
xor edx, edx
push 0xfe
mov edi, eax
push edx
lea eax, [ebp - 0x14a]
push eax
mov word [ebp - 0x14c], dx
call fcn.0042c9e0
add esp, 0xc
push 0x80
lea ecx, [ebp - 0x14c]
push ecx
push edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
push 0x3f
lea edx, [ebp - 0x4b]
push 0
push edx
mov byte [ebp - 0x4c], 0
call fcn.0042c9e0
mov edi, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x250]
add esp, 0xc
lea eax, [ebp - 0x280]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov edi, dword [ebp - 0x260]
mov dword [eax + 4], edi
mov edi, dword [ebp - 0x25c]
mov dword [ebp - 0x280], 0
mov edx, dword [ecx]
mov dword [eax + 8], edi
mov edi, dword [ebp - 0x258]
push ecx
mov ecx, dword [edx + 0x44]
mov dword [eax + 0xc], edi
call ecx
test eax, eax
jne 0x4052cd
push eax
push eax
mov eax, dword [ebp - 0x280]
push 0x40
lea edx, [ebp - 0x4c]
push edx
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, dword [ebp - 0x280]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, 0x44c790
lea eax, [ebp - 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4052b4
test dl, dl
je 0x4052b0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4052b4
add eax, 2
add ecx, 2
test dl, dl
jne 0x405294
xor eax, eax
jmp 0x4052b9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4052cd
push str.CtrlE
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4053c8
mov ecx, ebx
mov eax, 0x457910
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4052fa
test dx, dx
je 0x4052f6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4052fa
add eax, 4
add ecx, 4
test dx, dx
jne 0x4052d4
xor eax, eax
jmp 0x4052ff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x405343
mov ecx, 0x457d10
lea eax, [ebp - 0x14c]
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x405336
test dx, dx
je 0x405332
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x405336
add eax, 4
add ecx, 4
test dx, dx
jne 0x405310
xor eax, eax
jmp 0x40533b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4053c8
xor eax, eax
push 0xfe
push eax
lea ecx, [ebp - 0x24a]
push ecx
mov word [ebp - 0x24c], ax
call fcn.0042c9e0
lea edx, [ebp - 0x24c]
add esp, 0xc
mov eax, ebx
sub edx, ebx
jmp 0x405370
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x405370
mov edx, 0x457910
mov eax, ebx
sub edx, ebx
jmp 0x405390
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x405390
push 4
push str.http
push ebx
call fcn.00424694
add esp, 0xc
push 0x2f
test eax, eax
jne 0x40548a
lea edx, [ebx + 0x14]
push edx
jmp 0x40548b
mov ebx, dword [ebp - 0x27c]
mov edi, dword [ebp - 0x250]
test edi, edi
je 0x405415
mov edx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov esi, dword [ebp - 0x254]
push ebx
push edx
push eax
push esi
push edi
call fcn.00404db0
mov edi, dword [ebp - 0x250]
add esp, 0x14
mov dword [ebp - 0x278], eax
cmp dword [esi], edi
je 0x405415
test edi, edi
je 0x40540d
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
xor edi, edi
mov dword [ebp - 0x250], edi
xor esi, esi
mov eax, dword [ebp - 0x284]
inc eax
mov dword [ebp - 0x284], eax
cmp eax, dword [ebp - 0x274]
jle 0x404e81
mov ebx, dword [ebp - 0x278]
cmp edi, esi
je 0x405442
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x250], esi
cmp eax, esi
je 0x40545a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [ebp - 0x264]
push ecx
mov dword [ebp - 0x26c], esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004243bb
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x250]
xor ebx, ebx
jmp 0x405436
push ebx
call fcn.004246cd
add esp, 8
test eax, eax
je 0x40549c
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x24c]
push edx
lea ecx, [ebp - 0x14c]
mov edx, ebx
call fcn.00403fb0
add esp, 4
test eax, eax
je 0x4055c2
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [ebp + eax - 0x14c]
mov word [eax + 0x457d10], cx
add eax, 2
test cx, cx
jne 0x4054c0
push 0x44c710
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx]
mov edi, eax
push edi
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [ebp - 0x260]
mov dword [eax + 4], ebx
mov ebx, dword [ebp - 0x25c]
mov dword [eax + 8], ebx
mov ebx, dword [ebp - 0x258]
mov dword [eax + 0xc], ebx
mov eax, dword [edx + 0x6c]
push ecx
call eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [ebp - 0x250]
lea ecx, [ebp - 0x254]
push ecx
push edx
mov dword [ebp - 0x254], 0
call esi
mov eax, dword [ebp - 0x254]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [ebp - 0x254], 0
je 0x4055b2
mov esi, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp - 0x260]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x25c]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x258]
mov dword [eax + 0xc], esi
mov eax, dword [edx + 0x64]
push ecx
call eax
mov ecx, dword [ebp - 0x254]
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0xd
push 0x100
push ecx
call edi
mov edx, dword [ebp - 0x254]
push 0
push 0xd
push 0x101
push edx
call edi
mov edi, dword [ebp - 0x27c]
mov eax, 1
call fcn.00404380
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004243bb
mov esp, ebp
pop ebp
ret