Function at 0x45596a
Capabilities:
Enumerate browser history

Disassembly:
mov eax, 0x45e19f
call fcn.0045c170
mov eax, 0x15b4
call fcn.0045c140
push ebx
push esi
push edi
mov ebx, ecx
call fcn.004563ef
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.00456604
push 5
push edi
push 1
push 0x3ef
mov dword [ebp - 0x24], eax
mov dword [ebx + 0x10], eax
call fcn.0042487e
pop ecx
push eax
push 0xffff0000
mov ecx, ebx
call fcn.004547d4
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x455d3f
lea ecx, [ebp - 0x11c0]
call fcn.0041bf9f
lea eax, [ebp - 0x20]
mov dword [ebp - 4], edi
push eax
push 0x403940
push 1
push edi
push str._J7_
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, edi
jl 0x455d1c
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 0x455d13
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 0x455d0a
cmp dword [ebp - 0x14], 1
jne 0x455d0a
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.00424811
add esp, 0xc
test eax, eax
je 0x455a21
lea eax, [ebp - 0x15c0]
push 0x400
push eax
push dword [ebp - 0x70]
call fcn.00424811
add esp, 0xc
test eax, eax
je 0x455a21
lea eax, [ebp - 0xdac]
push eax
call fcn.00427147
test eax, eax
pop ecx
je 0x455a21
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00424c67
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.0041bfd4
push dword [ebp - 0x1c]
push 4
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
je 0x455b83
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 0x455b5e
test cl, cl
je 0x455b5a
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x455b5e
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x455b3c
xor eax, eax
jmp 0x455b63
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x455b7d
push dword [ebp - 0x10]
push 1
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x455b06
cmp dword [ebp - 0x10], 0
jne 0x455ba5
push 6
push 0
lea eax, [ebp - 0x88]
push 2
push eax
mov ecx, ebx
push dword [ebp - 0x1c]
call fcn.004547d4
test eax, eax
mov dword [ebp - 0x10], eax
je 0x455d0a
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x5ac]
push eax
lea eax, [ebp - 0xdac]
push eax
call fcn.00424ce7
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 0x455bfe
mov edi, 0x410734
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 0x455c91
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 0x455c6c
test cl, cl
je 0x455c68
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x455c6c
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x455c4a
xor eax, eax
jmp 0x455c71
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x455c8b
push dword [ebp - 0x10]
push 1
push 0x110a
push dword [ebx + 4]
call esi
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x455c14
cmp dword [ebp - 0x10], 0
jne 0x455cab
push 2
push 0
lea eax, [ebp - 0x5ac]
push 2
push eax
mov ecx, ebx
push dword [ebp - 0x28]
call fcn.004547d4
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.004547d4
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x455a21
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.004548c4
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.00454b99
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11c0]
call fcn.0041bfcd
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret