Function at 0x4071d2
Capabilities:
Hide graphical window

Disassembly:
push ebp
lea ebp, [esp - 0x2c]
sub esp, 0x2c
push 0xffffffffffffffff
push 0x429243
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x4322d0]
xor eax, ebp
mov dword [ebp + 0x28], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0xa0]
push ecx
call fcn.00406fe0
mov ecx, dword [ebp + 0x38]
lea eax, [ecx - 0x66]
mov dword [ebp - 4], 0
cmp eax, 0xab
ja case.0x4071cb.103
movzx edx, byte [eax + 0x407a04]
jmp dword [edx*4 + 0x4079cc]
lea eax, [ebp - 0x98]
push str.BeforeNavigate2:
push eax
call fcn.00409630
mov eax, dword [ebp + 0x48]
add esp, 8
cmp dword [eax + 8], 5
jb 0x407275
mov eax, dword [eax]
mov ecx, 0x400c
cmp word [eax + 0x50], cx
jne 0x407275
mov ecx, dword [eax + 0x58]
lea esi, [ebp + 8]
call fcn.004069d0
push 8
push 0
mov edx, esi
push edx
mov eax, esi
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov eax, dword [ebp + 0x10]
mov ebx, eax
test eax, eax
je 0x407255
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x40723b
xor eax, eax
jmp 0x407255
lea edi, [eax + eax]
mov eax, edi
call fcn.00420fa0
mov esi, esp
mov edx, 3
mov ecx, edi
mov eax, ebx
call fcn.00406950
push eax
lea ecx, [ebp - 0x98]
push ecx
call fcn.00409630
add esp, 8
lea edx, [ebp + 8]
push edx
mov byte [ebp - 4], 0
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x407289
lea eax, [ebp - 0x98]
push str.NULL
push eax
call fcn.00409630
add esp, 8
xor edi, edi
push edi
lea ecx, [ebp - 0x98]
call fcn.0040aaf0
mov esi, dword [ebp + 0x34]
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xa4]
push edi
push eax
call edx
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x58]
push edi
push eax
call edx
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x68]
push edi
push eax
call edx
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x70]
push edi
push eax
call edx
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
push edi
push eax
call edx
mov eax, dword [esi + 0x24]
lea edx, [ebp + 0x18]
push edx
mov dword [ebp + 0x18], edi
mov ecx, dword [eax]
push str.D_3
push eax
mov eax, dword [ecx]
call eax
test eax, eax
mov eax, dword [ebp + 0x18]
jl 0x407314
cmp eax, edi
je 0x407320
mov ecx, dword [eax]
mov edx, dword [ecx + 0x120]
push 0x1388
push 0x1388
push eax
call edx
mov eax, dword [ebp + 0x18]
jmp 0x407318
cmp eax, edi
je 0x407320
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esi + 0x24]
lea edx, [ebp]
push edx
mov dword [ebp], edi
mov ecx, dword [eax]
push 0x42a3ec
push eax
mov eax, dword [ecx]
call eax
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
jl 0x407387
mov eax, dword [ebp]
xor ebx, ebx
cmp eax, ebx
je 0x407389
mov ecx, dword [eax]
lea edx, [ebp + 0x1c]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov ecx, dword [ebp + 0x1c]
push ebx
push ecx
call edi
mov edx, dword [ebp + 0x1c]
push edx
call dword [sym.imp.USER32.dll_GetParent]
mov ebx, eax
push 0
push ebx
call edi
push ebx
call dword [sym.imp.USER32.dll_GetParent]
mov ebx, eax
push 0
push ebx
call edi
push ebx
call dword [sym.imp.USER32.dll_GetTopWindow]
push 0
push eax
call edi
xor ebx, ebx
mov eax, dword [esi + 0x24]
lea edx, [ebp + 4]
push edx
mov dword [ebp + 4], ebx
mov ecx, dword [eax]
push 0x42a42c
push eax
mov eax, dword [ecx]
call eax
cmp eax, ebx
jl 0x4073bd
mov eax, dword [ebp + 4]
cmp eax, ebx
je 0x4073bd
mov ecx, dword [eax]
lea edx, [ebp + 0x20]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov ecx, dword [ebp + 0x20]
push ebx
push ecx
call edi
mov esi, dword [esi + 0x24]
lea eax, [ebp + 0x24]
push eax
mov dword [ebp + 0x24], ebx
mov edx, dword [esi]
mov ecx, dword [edx]
push 0x42a43c
push esi
call ecx
test eax, eax
jl 0x407980
mov eax, dword [ebp + 0x24]
lea ecx, [ebp + 0x1c]
push ecx
push 0x42a3ec
mov dword [ebp + 0x1c], ebx
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push 0x42a38c
push eax
call edx
test eax, eax
jl 0x407423
mov eax, dword [ebp + 0x1c]
lea edx, [ebp + 0x20]
mov dword [ebp + 0x20], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
jl 0x407418
mov ecx, dword [ebp + 0x20]
push ebx
push ecx
call edi
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x407980
lea eax, [ebp - 0x98]
push str.CommandStateChange:
push eax
call fcn.00409630
mov esi, dword [ebp + 0x48]
mov eax, dword [esi + 8]
add esp, 8
test eax, eax
jne 0x407470
lea ecx, [ebp - 0x98]
push str.NULL
push ecx
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0x98]
jmp 0x407979
cmp eax, 1
jbe 0x40749c
mov eax, dword [esi]
cmp word [eax + 0x10], 3
jne 0x40749c
mov edx, dword [eax + 0x18]
push edx
lea eax, [ebp - 0x98]
push str.Command_
push eax
call fcn.00409630
add esp, 8
push eax
call fcn.00407ab0
mov eax, dword [esi]
cmp word [eax], 0xb
jne 0x4074d3
cmp word [eax + 8], 0xffff
mov eax, str.True
je 0x4074b5
mov eax, str.False
push eax
lea ecx, [ebp - 0x98]
push str.__Enabled_
push ecx
call fcn.00409630
add esp, 8
push eax
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0x98]
jmp 0x407979
mov edi, dword [ebp + 0x34]
mov eax, dword [edi + 0x24]
mov edx, dword [eax]
push 0
push eax
mov eax, dword [edx + 0xa4]
call eax
mov eax, dword [edi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x58]
push 0
push eax
call edx
mov eax, dword [edi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x68]
push 0
push eax
call edx
mov eax, dword [edi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x70]
push 0
push eax
call edx
mov eax, dword [edi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
push 0
push eax
call edx
lea eax, [ebp - 0x98]
push str.DocumentComplete
push eax
call fcn.00409630
add esp, 8
push 0
mov ecx, eax
call fcn.0040aaf0
mov ebx, dword [ebp + 0x48]
cmp dword [ebx + 8], 2
jne 0x407980
mov ecx, dword [ebx]
mov ecx, dword [ecx + 8]
lea esi, [ebp + 8]
call fcn.004069d0
push 8
push 0
mov edx, esi
push edx
mov eax, esi
push eax
mov byte [ebp - 4], 2
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov ecx, dword [ebx]
mov dword [ebp + 0x24], 0
mov eax, dword [ecx + 0x18]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [ebp + 0x24]
push ecx
push 0x42a44c
push eax
call edx
test eax, eax
jl 0x4075d8
mov eax, dword [edi + 0x24]
mov ecx, dword [eax]
lea edx, [ebp + 0x20]
push edx
push 0x42d01c
push eax
mov eax, dword [ecx]
call eax
test eax, eax
jl 0x4075cd
mov eax, dword [ebp + 0x20]
cmp eax, dword [ebp + 0x24]
jne 0x4075c5
mov ecx, dword [edi + 0x28]
push 0
push 0
push 0x464
push ecx
call dword [sym.imp.USER32.dll_PostThreadMessageA]
mov eax, dword [ebp + 0x20]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp + 8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x407980
lea ecx, [ebp - 0x98]
push str.DownloadBegin
push ecx
call fcn.00409630
add esp, 8
jmp 0x407977
lea edx, [ebp - 0x98]
push str.DownloadComplete
push edx
call fcn.00409630
add esp, 8
jmp 0x407977
mov eax, dword [ebp + 0x48]
mov eax, dword [eax]
mov ecx, 0x400c
cmp word [eax], cx
jne 0x407980
mov ecx, dword [eax + 8]
lea esi, [ebp + 8]
call fcn.004069d0
push 8
push 0
mov edx, esi
push edx
mov eax, esi
push eax
mov byte [ebp - 4], 3
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov eax, dword [ebp + 0x10]
mov ebx, eax
test eax, eax
je 0x407663
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x407667
xor eax, eax
jmp 0x407681
lea edi, [eax + eax]
mov eax, edi
call fcn.00420fa0
mov esi, esp
mov edx, 3
mov ecx, edi
mov eax, ebx
call fcn.00406950
push eax
lea ecx, [ebp - 0x98]
push str.NavigateComplete2:
push ecx
call fcn.00409630
add esp, 8
push eax
call fcn.00409630
add esp, 8
push 0
mov ecx, eax
call fcn.0040aaf0
lea edx, [ebp + 8]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x407980
lea eax, [ebp - 0x98]
push str.ProgressChange:
push eax
call fcn.00409630
mov esi, dword [ebp + 0x48]
mov eax, dword [esi + 8]
add esp, 8
test eax, eax
jne 0x4076f4
lea ecx, [ebp - 0x98]
push str.NULL
push ecx
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0x98]
jmp 0x407979
cmp eax, 1
jbe 0x407720
mov eax, dword [esi]
cmp word [eax + 0x10], 3
jne 0x407720
mov edx, dword [eax + 0x18]
push edx
lea eax, [ebp - 0x98]
push str.Progress_
push eax
call fcn.00409630
add esp, 8
push eax
call fcn.00407ab0
mov esi, dword [esi]
cmp word [esi], 3
jne 0x407746
mov ecx, dword [esi + 8]
push ecx
lea edx, [ebp - 0x98]
push str.__ProgressMax_
push edx
call fcn.00409630
add esp, 8
push eax
call fcn.00407ab0
lea ecx, [ebp - 0x98]
jmp 0x407979
push str.PropertyChange:
lea eax, [ebp - 0x98]
push eax
call fcn.00409630
mov eax, dword [ebp + 0x48]
add esp, 8
cmp dword [eax + 8], 0
jbe 0x4077e0
mov eax, dword [eax]
cmp word [eax], 8
jne 0x4077e0
mov esi, dword [eax + 8]
test esi, esi
je 0x40778c
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x4077a9
xor eax, eax
push eax
lea ecx, [ebp - 0x98]
push ecx
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0x98]
jmp 0x407979
lea edi, [eax + eax]
mov eax, edi
call fcn.00420fa0
mov ebx, esp
mov eax, esi
mov edx, 3
mov ecx, edi
mov esi, ebx
call fcn.00406950
push eax
lea ecx, [ebp - 0x98]
push ecx
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0x98]
jmp 0x407979
lea edx, [ebp - 0x98]
push str.NULL
push edx
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0x98]
jmp 0x407979
lea eax, [ebp - 0x98]
push str.StatusTextChange:
push eax
call fcn.00409630
add esp, 8
lea ecx, [ebp - 0x98]
jmp 0x407979
lea ecx, [ebp - 0x98]
push str.NewWindow2
push ecx
call fcn.00409630
add esp, 8
jmp 0x407977
mov ebx, dword [ebp + 0x48]
cmp dword [ebx + 8], 0
jbe 0x40789f
mov eax, dword [ebx]
cmp word [eax], 8
jne 0x40789f
mov esi, dword [eax + 8]
test esi, esi
jne 0x40785b
xor eax, eax
push eax
lea edx, [ebp - 0x98]
push edx
jmp 0x4078ab
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x407876
xor eax, eax
push eax
lea edx, [ebp - 0x98]
push edx
jmp 0x4078ab
lea edi, [eax + eax]
mov eax, edi
call fcn.00420fa0
mov ebx, esp
mov eax, esi
mov edx, 3
mov ecx, edi
mov esi, ebx
call fcn.00406950
mov ebx, dword [ebp + 0x48]
push eax
lea edx, [ebp - 0x98]
push edx
jmp 0x4078ab
push str.NULL
lea eax, [ebp - 0x98]
push eax
call fcn.00409630
add esp, 8
cmp dword [ebx + 8], 0
jbe 0x4078d1
mov eax, dword [ebx]
mov ecx, 0x400b
cmp word [eax + 0x30], cx
jne 0x4078d1
mov edx, dword [eax + 0x38]
or eax, 0xffffffff
mov word [edx], ax
jmp 0x4078e5
lea ecx, [ebp - 0x98]
push str.NULL
push ecx
call fcn.00409630
add esp, 8
push 0x400
call fcn.004124f2
mov edi, eax
add esp, 4
test edi, edi
je 0x407980
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push eax
call fcn.00424940
mov esi, edi
mov ecx, eax
sub esi, eax
lea ecx, [ecx]
mov dl, byte [ecx]
mov byte [ecx + esi], dl
inc ecx
test dl, dl
jne 0x407910
push eax
call fcn.0041361a
mov ecx, dword [ebp + 0x34]
mov edx, dword [ecx + 0x28]
add esp, 4
push 0
push edi
push 0x469
push edx
call dword [sym.imp.USER32.dll_PostThreadMessageA]
jmp 0x407980
push str.TitleChange:
jmp 0x407756
mov eax, dword [ebp + 0x34]
mov ecx, dword [eax + 0x28]
push 0
push 0
push 0x467
push ecx
call dword [sym.imp.USER32.dll_PostThreadMessageA]
jmp 0x407980
push ecx
lea edx, [ebp - 0x98]
push str.Unknown_Event
push edx
call fcn.00409630
add esp, 8
push eax
call fcn.00407ab0
mov ecx, eax
push 0
call fcn.0040aaf0
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.00407070
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x40], vtable.std::ios_base.0
call fcn.0041264b
add esp, 4
xor eax, eax
lea esp, [ebp - 0xc0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x28]
xor ecx, ebp
call fcn.00412dd0
add ebp, 0x2c
mov esp, ebp
pop ebp
ret 0x24