Function at 0x458137
Capabilities:
Enumerate browser history

Disassembly:
mov eax, 0x4609b3
call fcn.0045e9d0
mov eax, 0x15b4
call fcn.0045e9a0
push ebx
push esi
push edi
mov ebx, ecx
call fcn.00458bbd
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.00458dcf
push 5
push edi
push 1
push 0x3ef
mov dword [ebp - 0x24], eax
mov dword [ebx + 0x10], eax
call fcn.004252ac
pop ecx
push eax
push 0xffff0000
mov ecx, ebx
call fcn.00456fa1
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x45850c
lea ecx, [ebp - 0x11c0]
call fcn.0041cbea
lea eax, [ebp - 0x20]
mov dword [ebp - 4], edi
push eax
push 0x403900
push 1
push edi
push 0x403580
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, edi
jl 0x4584e9
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 0x4584e0
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 0x4584d7
cmp dword [ebp - 0x14], 1
jne 0x4584d7
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.0042523f
add esp, 0xc
test eax, eax
je 0x4581ee
lea eax, [ebp - 0x15c0]
push 0x400
push eax
push dword [ebp - 0x70]
call fcn.0042523f
add esp, 0xc
test eax, eax
je 0x4581ee
lea eax, [ebp - 0xdac]
push eax
call fcn.00427d3a
test eax, eax
pop ecx
je 0x4581ee
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00425695
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.0041cc1f
push dword [ebp - 0x1c]
push 4
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
je 0x458350
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 0x45832b
test cl, cl
je 0x458327
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x45832b
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x458309
xor eax, eax
jmp 0x458330
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45834a
push dword [ebp - 0x10]
push 1
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x4582d3
cmp dword [ebp - 0x10], 0
jne 0x458372
push 6
push 0
lea eax, [ebp - 0x88]
push 2
push eax
mov ecx, ebx
push dword [ebp - 0x1c]
call fcn.00456fa1
test eax, eax
mov dword [ebp - 0x10], eax
je 0x4584d7
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x5ac]
push eax
lea eax, [ebp - 0xdac]
push eax
call fcn.00425715
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 0x4583cb
mov edi, 0x411340
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 0x45845e
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 0x458439
test cl, cl
je 0x458435
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x458439
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x458417
xor eax, eax
jmp 0x45843e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x458458
push dword [ebp - 0x10]
push 1
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x4583e1
cmp dword [ebp - 0x10], 0
jne 0x458478
push 2
push 0
lea eax, [ebp - 0x5ac]
push 2
push eax
mov ecx, ebx
push dword [ebp - 0x28]
call fcn.00456fa1
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.00456fa1
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x4581ee
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.00457091
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00457366
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11c0]
call fcn.0041cc18
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret