Function at 0x456779
Capabilities:
Enumerate browser history

Disassembly:
mov eax, 0x45f02f
call fcn.0045cfc0
mov eax, 0x15b4
call fcn.0045cf90
push ebx
push esi
push edi
mov ebx, ecx
call fcn.004571fe
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
xor edi, edi
push edi
push 0x12
push 0x111b
push dword [ebx + 4]
call esi
mov ecx, ebx
call fcn.00457413
push 5
push edi
push 1
push 0x3ef
mov dword [ebp - 0x24], eax
mov dword [ebx + 0x10], eax
call fcn.00424a93
pop ecx
push eax
push 0xffff0000
mov ecx, ebx
call fcn.004555e3
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x456b4e
lea ecx, [ebp - 0x11c0]
call fcn.0041c34b
lea eax, [ebp - 0x20]
mov dword [ebp - 4], edi
push eax
push 0x4038f8
push 1
push edi
push str._J7_
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, edi
jl 0x456b2b
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x18]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
cmp eax, edi
jl 0x456b22
push 0xa
mov dword [ebp - 0x14], edi
pop ecx
xor eax, eax
lea edi, [ebp - 0x78]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x78]
mov dword [ebp - 0x78], 0x28
mov ecx, dword [eax]
push edx
push 1
push eax
call dword [ecx + 0xc]
test eax, eax
jl 0x456b19
cmp dword [ebp - 0x14], 1
jne 0x456b19
mov ecx, 0x200
xor eax, eax
lea edi, [ebp - 0xdac]
push 0x800
rep stosd dword es:[edi], eax
mov ecx, 0x100
lea edi, [ebp - 0x15c0]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xdac]
push eax
push dword [ebp - 0x74]
call fcn.00424a26
add esp, 0xc
test eax, eax
je 0x456830
lea eax, [ebp - 0x15c0]
push 0x400
push eax
push dword [ebp - 0x70]
call fcn.00424a26
add esp, 0xc
test eax, eax
je 0x456830
lea eax, [ebp - 0xdac]
push eax
call fcn.004274c7
test eax, eax
pop ecx
je 0x456830
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00424e7c
add esp, 0xc
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x11c0]
push 0x10
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.0041c380
push dword [ebp - 0x1c]
push 4
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
je 0x456992
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x50], 0x15
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x1ac]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x50]
push eax
push 0
push 0x110c
mov dword [ebp - 0x3c], 0x104
push dword [ebx + 4]
call esi
mov edi, dword [ebp - 0x40]
lea eax, [ebp - 0x88]
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x45696d
test cl, cl
je 0x456969
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x45696d
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x45694b
xor eax, eax
jmp 0x456972
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45698c
push dword [ebp - 0x10]
push 1
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x456915
cmp dword [ebp - 0x10], 0
jne 0x4569b4
push 6
push 0
lea eax, [ebp - 0x88]
push 2
push eax
mov ecx, ebx
push dword [ebp - 0x1c]
call fcn.004555e3
test eax, eax
mov dword [ebp - 0x10], eax
je 0x456b19
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x5ac]
push eax
lea eax, [ebp - 0xdac]
push eax
call fcn.00424efc
pop ecx
lea edi, [ebp - 0x5ac]
pop ecx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x456a0d
mov edi, 0x410b34
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x5ac]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp - 0x10]
push 4
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
je 0x456aa0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x50], 0x11
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x1ac]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x50]
push eax
push 0
push 0x110c
mov dword [ebp - 0x3c], 0x104
push dword [ebx + 4]
call esi
mov edi, dword [ebp - 0x40]
lea eax, [ebp - 0x5ac]
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x456a7b
test cl, cl
je 0x456a77
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x456a7b
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x456a59
xor eax, eax
jmp 0x456a80
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x456a9a
push dword [ebp - 0x10]
push 1
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x456a23
cmp dword [ebp - 0x10], 0
jne 0x456aba
push 2
push 0
lea eax, [ebp - 0x5ac]
push 2
push eax
mov ecx, ebx
push dword [ebp - 0x28]
call fcn.004555e3
mov dword [ebp - 0x10], eax
lea edi, [ebp - 0xdac]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call dword [sym.imp.MSVCRT.dll_malloc]
pop ecx
mov edx, eax
lea edi, [ebp - 0xdac]
or ecx, 0xffffffff
xor eax, eax
lea esi, [ebp - 0xdac]
repne scasb al, byte es:[edi]
not ecx
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 3
push edx
lea eax, [ebp - 0x15c0]
and ecx, 3
push 2
push eax
push dword [ebp - 0x10]
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.004555e3
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x456830
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push dword [ebp - 0x24]
mov ecx, ebx
call fcn.004556d3
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.004559a8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11c0]
call fcn.0041c379
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret