Function at 0x4571fa
Capabilities:
Enumerate browser history

Disassembly:
mov eax, 0x45fb3b
call fcn.0045dac0
mov eax, 0x15b4
call fcn.0045da90
push ebx
push esi
push edi
mov ebx, ecx
call fcn.00457c7f
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.00457e94
push 5
push edi
push 1
push 0x3ef
mov dword [ebp - 0x24], eax
mov dword [ebx + 0x10], eax
call fcn.00424eff
pop ecx
push eax
push 0xffff0000
mov ecx, ebx
call fcn.00456064
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x4575cf
lea ecx, [ebp - 0x11c0]
call fcn.0041c6d0
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 0x4575ac
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 0x4575a3
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 0x45759a
cmp dword [ebp - 0x14], 1
jne 0x45759a
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.00424e92
add esp, 0xc
test eax, eax
je 0x4572b1
lea eax, [ebp - 0x15c0]
push 0x400
push eax
push dword [ebp - 0x70]
call fcn.00424e92
add esp, 0xc
test eax, eax
je 0x4572b1
lea eax, [ebp - 0xdac]
push eax
call fcn.00427949
test eax, eax
pop ecx
je 0x4572b1
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.004252e8
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.0041c705
push dword [ebp - 0x1c]
push 4
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
je 0x457413
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 0x4573ee
test cl, cl
je 0x4573ea
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x4573ee
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x4573cc
xor eax, eax
jmp 0x4573f3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45740d
push dword [ebp - 0x10]
push 1
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x457396
cmp dword [ebp - 0x10], 0
jne 0x457435
push 6
push 0
lea eax, [ebp - 0x88]
push 2
push eax
mov ecx, ebx
push dword [ebp - 0x1c]
call fcn.00456064
test eax, eax
mov dword [ebp - 0x10], eax
je 0x45759a
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x5ac]
push eax
lea eax, [ebp - 0xdac]
push eax
call fcn.00425368
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 0x45748e
mov edi, 0x410f40
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 0x457521
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 0x4574fc
test cl, cl
je 0x4574f8
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x4574fc
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x4574da
xor eax, eax
jmp 0x457501
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45751b
push dword [ebp - 0x10]
push 1
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x4574a4
cmp dword [ebp - 0x10], 0
jne 0x45753b
push 2
push 0
lea eax, [ebp - 0x5ac]
push 2
push eax
mov ecx, ebx
push dword [ebp - 0x28]
call fcn.00456064
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.00456064
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x4572b1
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.00456154
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00456429
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11c0]
call fcn.0041c6fe
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret