Function at 0x4a3bb0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4be8f7
mov eax, dword fs:[0]
push eax
mov eax, 0x54d8
call fcn.004aeb70
mov eax, dword [0x50dc94]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x54d4], edi
mov dword [ebp - 0x54d0], eax
mov dword [ebp - 0x54c8], ecx
test edi, edi
je 0x4a45d3
test eax, eax
je 0x4a45d3
xor eax, eax
mov dword [ebp - 0x54e4], eax
lea eax, [ebp - 0x54bc]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, dword [ebp - 0x54d0]
lea eax, [ebp - 0x54bc]
mov esi, dword [edi]
push eax
sub esp, 0x10
movups xmm0, xmmword [ecx]
mov esi, dword [esi + 0x34]
mov eax, esp
mov ecx, esi
push edi
movups xmmword [eax], xmm0
call dword [0x4c66dc]
call esi
xor esi, esi
test eax, eax
js 0x4a3c64
cmp word [ebp - 0x54bc], 3
cmove esi, dword [ebp - 0x54b4]
mov dword [ebp - 0x54e4], esi
lea eax, [ebp - 0x54bc]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp esi, 0xf
je 0x4a3c7f
cmp esi, 0x10
jne 0x4a41a1
xor eax, eax
mov word [ebp - 0x549c], ax
lea eax, [ebp - 0x549c]
push 0x2000
push eax
push dword [ebp - 0x54d0]
push edi
call fcn.004a3470
xor eax, eax
add esp, 0x10
mov word [ebp - 0x149e], ax
mov ax, word [ebp - 0x549c]
test ax, ax
je 0x4a41a1
cmp ax, 0x68
je 0x4a3cc8
cmp ax, 0x48
jne 0x4a3d2c
mov ax, word [ebp - 0x549a]
cmp ax, 0x74
je 0x4a3cdb
cmp ax, 0x54
jne 0x4a3d2c
mov ax, word [ebp - 0x5498]
cmp ax, 0x74
je 0x4a3cee
cmp ax, 0x54
jne 0x4a3d2c
mov ax, word [ebp - 0x5496]
cmp ax, 0x70
je 0x4a3d01
cmp ax, 0x50
jne 0x4a3d2c
mov ax, word [ebp - 0x5494]
cmp ax, 0x3a
je 0x4a3db5
cmp ax, 0x73
je 0x4a3d1e
cmp ax, 0x53
jne 0x4a3d2c
cmp word [ebp - 0x5492], 0x3a
je 0x4a3db5
lea eax, [ebp - 0x549c]
push 0x4e9b88
push eax
call fcn.004b4972
add esp, 8
test eax, eax
jne 0x4a41a1
mov ax, word [ebp - 0x549c]
cmp ax, 0x61
je 0x4a3d5b
cmp ax, 0x41
jne 0x4a3db5
mov ax, word [ebp - 0x549a]
cmp ax, 0x62
je 0x4a3d6e
cmp ax, 0x42
jne 0x4a3db5
mov ax, word [ebp - 0x5498]
cmp ax, 0x6f
je 0x4a3d81
cmp ax, 0x4f
jne 0x4a3db5
mov ax, word [ebp - 0x5496]
cmp ax, 0x75
je 0x4a3d94
cmp ax, 0x55
jne 0x4a3db5
mov ax, word [ebp - 0x5494]
cmp ax, 0x74
je 0x4a3da7
cmp ax, 0x54
jne 0x4a3db5
cmp word [ebp - 0x5492], 0x3a
je 0x4a41a1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp - 0x54c8]
mov dword [ebp - 0x54d8], eax
cmp esi, dword [0x543a58]
jne 0x4a3e2e
cmp dword [0x50dbac], 8
lea eax, [ebp - 0x549c]
mov ecx, 0x50db98
cmovae ecx, dword [0x50db98]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4a3e0e
test dx, dx
je 0x4a3e0a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4a3e0e
add eax, 4
add ecx, 4
test dx, dx
jne 0x4a3de8
xor eax, eax
jmp 0x4a3e13
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4a3e2e
mov eax, dword [ebp - 0x54d8]
sub eax, dword [0x543a44]
cmp eax, 0xea60
jb 0x4a41a1
lea ecx, [ebp - 0x549c]
mov dword [0x543a58], esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a3e40
sub ecx, edx
lea eax, [ebp - 0x549c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x50db98
call fcn.00410410
mov eax, dword [ebp - 0x54d8]
mov dword [0x543a44], eax
lea eax, [ebp - 0x54d8]
push eax
push esi
mov dword [ebp - 0x54d8], 0
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0x54d8]
test eax, eax
je 0x4a41a1
xor ecx, ecx
mov word [ebp - 0x49c], cx
lea ecx, [ebp - 0x49c]
push 0x104
push ecx
push eax
call fcn.004a7f24
add esp, 0xc
lea ecx, [ebp - 0x54c4]
xor eax, eax
mov word [ebp - 0x294], ax
push 0x4cc9ec
call fcn.004106c0
lea eax, [ebp - 0x54c4]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x49c]
push eax
call fcn.004a3550
lea eax, [ebp - 0x49c]
push 0x5c
push eax
call fcn.004b496c
mov edi, eax
add esp, 0x10
test edi, edi
je 0x4a3eff
add edi, 2
jmp 0x4a3f05
lea edi, [ebp - 0x49c]
cmp dword [ebp - 0x54b0], 8
lea esi, [ebp - 0x54c4]
mov eax, dword [ebp - 0x54d8]
cmovae esi, dword [ebp - 0x54c4]
cmp dword [0x543a6c], 0
mov dword [ebp - 0x54cc], esi
mov dword [ebp - 0x54e0], eax
je 0x4a3fab
mov dword [0x543a6c], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov esi, 0x50dbe4
sub ecx, dword [0x543a48]
mov eax, 0x10624dd3
mul ecx
push str.userbrowsed
shr edx, 6
mov ecx, 0x50dbcc
cmp dword [0x50dbf8], 8
mov eax, 0x50dbb4
push edx
cmovae esi, dword [0x50dbe4]
cmp dword [0x50dbe0], 8
push esi
cmovae ecx, dword [0x50dbcc]
cmp dword [0x50dbc8], 8
push ecx
cmovae eax, dword [0x50dbb4]
push eax
call fcn.004a37c0
add esp, 0x14
call fcn.004a4d70
mov esi, dword [ebp - 0x54cc]
mov eax, dword [ebp - 0x54c8]
push 3
push eax
mov dword [0x543a5c], eax
call dword [sym.imp.USER32.dll_GetAncestor]
mov ecx, dword [ebp - 0x54e0]
test eax, eax
mov dword [0x543a64], ecx
lea ecx, [ebp - 0x54dc]
cmove eax, dword [ebp - 0x54c8]
push ecx
push eax
mov dword [0x543a60], eax
mov dword [ebp - 0x54dc], 0
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0x54dc]
test eax, eax
mov ecx, dword [ebp - 0x54e0]
cmovne ecx, eax
mov dword [0x543a68], ecx
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a4010
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, 0x50dbb4
call fcn.00410410
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a4030
sub ecx, edx
sar ecx, 1
push ecx
push esi
mov ecx, 0x50dbcc
call fcn.00410410
lea ecx, [ebp - 0x549c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a4054
sub ecx, edx
lea eax, [ebp - 0x549c]
sar ecx, 1
push ecx
push eax
mov ecx, 0x50dbe4
call fcn.00410410
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x543a54], 0
mov dword [0x543a48], eax
mov dword [0x543a6c], 1
jne 0x4a40a9
push str.FA_WEBFILTER
call fcn.004a8052
add esp, 4
mov dword [0x543a54], eax
test eax, eax
je 0x4a40f4
cmp word [ebp - 0x549c], 0
je 0x4a40f4
lea ecx, [ebp - 0x549c]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4a40c0
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0x549c]
push eax
push 0
push 1
push 0x806c
push str..pipeFC_F18F86FD_7503_4564_80CF_B6B199519837
call fcn.004a8142
add esp, 0x18
cmp dword [0x543a50], 0
je 0x4a4152
xor eax, eax
lea ecx, [ebp - 0x549c]
cmp dword [ebp - 0x54b0], 8
mov word [ebp - 0x149c], ax
lea eax, [ebp - 0x54c4]
cmovae eax, dword [ebp - 0x54c4]
push ecx
push eax
push edi
push str.UserInitiated:_src_s__s___url_s_n
lea eax, [ebp - 0x149c]
push 0x7ff
push eax
call fcn.00434600
xor eax, eax
add esp, 0x18
mov word [ebp - 0x49e], ax
lea eax, [ebp - 0x149c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0x54b0]
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x4a419b
mov ecx, dword [ebp - 0x54c4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4a4191
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4a4191
call dword [0x4c59b0]
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov edi, dword [ebp - 0x54d4]
cmp dword [0x543a4c], 0
je 0x4a45d3
xor eax, eax
mov word [ebp - 0x90], ax
lea eax, [ebp - 0x54bc]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, dword [ebp - 0x54d0]
lea eax, [ebp - 0x54bc]
mov esi, dword [edi]
push eax
sub esp, 0x10
movups xmm0, xmmword [ecx]
mov esi, dword [esi + 0x34]
mov eax, esp
mov ecx, esi
push edi
movups xmmword [eax], xmm0
call dword [0x4c66dc]
call esi
or edi, 0xffffffff
test eax, eax
js 0x4a42a5
mov ax, word [ebp - 0x54bc]
cmp ax, 3
jne 0x4a421d
push 0x40
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x54b4]
call sub.OLEACC.dll_GetRoleTextW
jmp 0x4a4298
cmp ax, 8
jne 0x4a4298
push 1
push dword [ebp - 0x54b4]
lea ecx, [ebp - 0x54cc]
call fcn.004a3200
mov esi, dword [ebp - 0x54cc]
test esi, esi
je 0x4a4298
mov eax, dword [esi]
test eax, eax
je 0x4a4259
push 0x40
push eax
lea eax, [ebp - 0x90]
push eax
call dword [0x4c5ac4]
add esp, 0xc
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4a4298
mov eax, dword [esi]
test eax, eax
je 0x4a4276
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4a428d
push eax
call fcn.004aec0e
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004aebf7
add esp, 8
lea eax, [ebp - 0x54bc]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x54d4]
xor eax, eax
mov edx, dword [ebp - 0x54d0]
mov word [ebp - 0x12], ax
mov word [ebp - 0x190], ax
mov esi, dword [ecx]
movups xmm0, xmmword [edx]
mov dword [ebp - 0x54e0], eax
lea eax, [ebp - 0x54e0]
push eax
mov esi, dword [esi + 0x28]
sub esp, 0x10
mov eax, esp
push ecx
mov ecx, esi
movups xmmword [eax], xmm0
call dword [0x4c66dc]
call esi
test eax, eax
js 0x4a436b
mov eax, dword [ebp - 0x54e0]
test eax, eax
je 0x4a436b
push 0
push eax
lea ecx, [ebp - 0x54cc]
call fcn.004a3200
mov esi, dword [ebp - 0x54cc]
test esi, esi
je 0x4a436b
mov eax, dword [esi]
test eax, eax
je 0x4a432c
push 0x80
push eax
lea eax, [ebp - 0x190]
push eax
call dword [0x4c5ac4]
add esp, 0xc
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4a436b
mov eax, dword [esi]
test eax, eax
je 0x4a4349
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4a4360
push eax
call fcn.004aec0e
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004aebf7
add esp, 8
xor eax, eax
mov word [ebp - 0x92], ax
mov word [ebp - 0x89c], ax
lea eax, [ebp - 0x89c]
push 0x200
push eax
push dword [ebp - 0x54d0]
push dword [ebp - 0x54d4]
call fcn.004a3470
mov ecx, dword [ebp - 0x54d4]
xor eax, eax
mov edx, dword [ebp - 0x54d0]
add esp, 0x10
mov word [ebp - 0x49e], ax
mov word [ebp - 0x290], ax
mov esi, dword [ecx]
movups xmm0, xmmword [edx]
mov dword [ebp - 0x54dc], eax
lea eax, [ebp - 0x54dc]
push eax
mov esi, dword [esi + 0x30]
sub esp, 0x10
mov eax, esp
push ecx
mov ecx, esi
movups xmmword [eax], xmm0
call dword [0x4c66dc]
call esi
test eax, eax
js 0x4a4462
mov eax, dword [ebp - 0x54dc]
test eax, eax
je 0x4a4462
push 0
push eax
lea ecx, [ebp - 0x54cc]
call fcn.004a3200
mov esi, dword [ebp - 0x54cc]
test esi, esi
je 0x4a4462
mov eax, dword [esi]
test eax, eax
je 0x4a4425
push 0x80
push eax
lea eax, [ebp - 0x290]
push eax
call dword [0x4c5ac4]
add esp, 0xc
lock xadd dword [esi + 8], edi
dec edi
jne 0x4a4462
mov eax, dword [esi]
test eax, eax
je 0x4a4440
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4a4457
push eax
call fcn.004aec0e
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004aebf7
add esp, 8
mov edx, dword [ebp - 0x54d0]
xor eax, eax
mov ecx, dword [ebp - 0x54d4]
sub esp, 0x10
mov word [ebp - 0x290], ax
xorps xmm0, xmm0
mov eax, esp
movups xmmword [ebp - 0x54ac], xmm0
mov esi, dword [ecx]
movups xmm0, xmmword [edx]
mov esi, dword [esi + 0x58]
movups xmmword [eax], xmm0
lea eax, [ebp - 0x54a0]
push eax
lea eax, [ebp - 0x54a4]
push eax
lea eax, [ebp - 0x54a8]
push eax
lea eax, [ebp - 0x54ac]
push eax
push ecx
mov ecx, esi
call dword [0x4c66dc]
call esi
test eax, eax
js 0x4a44d4
mov eax, dword [ebp - 0x54ac]
add dword [ebp - 0x54a4], eax
mov eax, dword [ebp - 0x54a8]
add dword [ebp - 0x54a0], eax
lea ecx, [ebp - 0x54c8]
call dword [0x4c5d94]
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 1
push eax
mov eax, dword [ebp - 0x54e4]
push eax
lea eax, [ebp - 0x54c8]
push str.Role_d___s__n
push eax
call dword [0x4c5da0]
add esp, 0x10
push dword [ebp - 0x54c8]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x54c8]
push str.Name__s__n
push eax
call dword [0x4c5da0]
add esp, 0xc
push dword [ebp - 0x54c8]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x89c]
push eax
lea eax, [ebp - 0x54c8]
push str.Value__s__n
push eax
call dword [0x4c5da0]
add esp, 0xc
push dword [ebp - 0x54c8]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x54c8]
push str.Desc__s__n
push eax
call dword [0x4c5da0]
add esp, 0xc
push dword [ebp - 0x54c8]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push dword [ebp - 0x54a0]
lea eax, [ebp - 0x54c8]
push dword [ebp - 0x54a4]
push dword [ebp - 0x54a8]
push dword [ebp - 0x54ac]
push str.Position__d___d___d___d_
push eax
call dword [0x4c5da0]
add esp, 0x18
push dword [ebp - 0x54c8]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x54c8]
call dword [0x4c5d9c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ae9c0
mov esp, ebp
pop ebp
ret 0x10